*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}code{font-family:Fira Code,Courier New,source-code-pro,Menlo,Monaco,Consolas,monospace}html{scroll-behavior:smooth}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#33a544,#a6ce39);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#a6ce39,#33a544)}:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #33a544;outline-offset:2px}.logo{align-items:center;display:flex;justify-content:center}.logo-image{display:block;height:auto;object-fit:contain;width:100%}.logo-small .logo-image{max-height:60px;max-width:120px}.logo-medium .logo-image{max-height:100px;max-width:200px}.logo-large .logo-image{max-height:150px;max-width:300px}.login-page{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;justify-content:center;overflow:hidden;position:relative}.login-background{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:0}.login-background:before{animation:waveMove 8s ease-in-out infinite;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23fff' fill-opacity='.1' d='m0 96 48 16c48 16 144 48 240 48s192-32 288-37.3c96-5.7 192 16.3 288 32 96 16.3 192 26.3 288 10.6 96-16.3 192-58.3 240-80l48-21.3v256H0Z'/%3E%3C/svg%3E");opacity:.6}.login-background:after,.login-background:before{background-position:bottom;background-size:cover;bottom:0;content:"";height:100%;left:0;position:absolute;width:100%}.login-background:after{animation:waveMove 10s ease-in-out infinite reverse;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23fff' fill-opacity='.08' d='m0 192 48 5.3c48 5.7 144 15.7 240 0 96-16.3 192-58.3 288-58.6 96 .3 192 42.3 288 58.6 96 15.7 192 5.7 288-16 96-21.3 192-53.3 240-69.3l48-16v224H0Z'/%3E%3C/svg%3E");opacity:.5}@keyframes waveMove{0%,to{transform:translateX(0) translateY(0)}50%{transform:translateX(-50px) translateY(-20px)}}.floating-shape{animation:floatShape 20s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fff3;border-radius:50%;position:absolute}.shape-1{animation-delay:0s;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;height:120px;left:10%;top:10%;width:120px}.shape-2{animation-delay:3s;border-radius:50%;height:80px;right:15%;top:60%;width:80px}.shape-3{animation-delay:6s;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;bottom:20%;height:100px;left:20%;width:100px}.shape-4{animation-delay:9s;border-radius:50%;height:60px;right:30%;top:30%;width:60px}.shape-5{animation-delay:12s;border-radius:40% 60% 60% 40%/60% 30% 70% 40%;bottom:40%;height:90px;right:10%;width:90px}@keyframes floatShape{0%,to{opacity:.6;transform:translate(0) rotate(0deg) scale(1)}25%{opacity:.8;transform:translate(30px,-50px) rotate(90deg) scale(1.1)}50%{opacity:.7;transform:translate(-20px,30px) rotate(180deg) scale(.9)}75%{opacity:.75;transform:translate(40px,20px) rotate(270deg) scale(1.05)}}.sparkle{animation:sparkleMove 15s linear infinite;background:#fffc;border-radius:50%;box-shadow:0 0 10px #fff9;height:4px;position:absolute;width:4px}.sparkle-1{animation-delay:0s;left:20%;top:20%}.sparkle-2{animation-delay:2s;right:25%;top:50%}.sparkle-3{animation-delay:4s;bottom:30%;left:30%}.sparkle-4{animation-delay:6s;right:40%;top:70%}.sparkle-5{animation-delay:8s;left:60%;top:40%}@keyframes sparkleMove{0%{opacity:0;transform:translate(0) scale(0)}10%{opacity:1;transform:translate(20px,-30px) scale(1)}50%{opacity:.8;transform:translate(100px,-150px) scale(1.2)}90%{opacity:.5;transform:translate(150px,-200px) scale(.8)}to{opacity:0;transform:translate(200px,-250px) scale(0)}}.gradient-shimmer{animation:shimmer 8s infinite;background:linear-gradient(45deg,#0000 30%,#ffffff1a 50%,#0000 70%);height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.login-container{animation:slideUp .6s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:48px 56px;position:relative;text-align:center;width:100%;z-index:1}.login-header{margin-bottom:40px}.login-header .logo{animation:logoFadeIn .6s ease-out;margin-bottom:20px}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-title{color:#1a202c;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.login-subtitle{color:#718096;font-size:15px;font-weight:400;margin:0}.login-form{display:flex;flex-direction:column;text-align:left}.form-group{margin-bottom:24px}.form-label{color:#2d3748;display:block;font-size:14px;font-weight:600;letter-spacing:.2px;margin-bottom:8px}.form-input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:15px;outline:none;padding:14px 16px;transition:all .3s ease;width:100%}.form-input:focus{background:#fff;border-color:#33a544;box-shadow:0 0 0 4px #33a5441a;transform:translateY(-1px)}.form-input:disabled{cursor:not-allowed;opacity:.6}.form-input::placeholder{color:#a0aec0}.form-error{animation:shake .4s ease-in-out;background:#fed7d7;border:1px solid #fc8181;border-radius:12px;color:#c53030;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.login-button{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);border:none;border-radius:12px;box-shadow:0 4px 16px #33a54466;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 8px 24px #33a54480;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.button-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:480px){.login-container{border-radius:20px;margin:20px;padding:32px 24px}.login-title{font-size:24px}.orb-1,.orb-2,.orb-3{display:none}}.sidebar{animation:slideInSidebar .4s ease;background:#fff;border-right:1px solid #e2e8f0;flex-shrink:0;height:calc(100vh - 70px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:70px;width:280px}@keyframes slideInSidebar{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.sidebar-loading{color:#718096;padding:40px 20px;text-align:center}.sidebar-header{background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:20px}.sidebar-title{color:#1a202c;font-size:18px;font-weight:700;margin:0}.sidebar-nav{padding:12px}.nav-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#4a5568;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:12px;margin-bottom:4px;overflow:hidden;padding:12px 16px;position:relative;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.nav-item:hover{background:#f7fafc;color:#33a544}.nav-item.active{background:linear-gradient(135deg,#33a544,#a6ce39);color:#fff}.nav-item svg{flex-shrink:0}.section-group{margin-bottom:8px}.section-header{align-items:center;background:#0000;border:none;border-radius:10px;color:#2d3748;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:12px 16px;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.admin-only-icon{align-items:center;color:#e53e3e;cursor:help;display:inline-flex;flex-shrink:0;justify-content:center}.admin-only-icon svg{transition:transform .2s ease}.admin-only-icon:hover svg{transform:scale(1.1)}.admin-only-icon{position:relative}.admin-only-icon:hover:after{animation:fadeInTooltip .2s ease;background:#1a202c;border-radius:6px;box-shadow:0 4px 12px #00000026;color:#fff;content:"Этот раздел доступен только для администраторов";font-size:12px;font-weight:500;left:50%;line-height:1.4;margin-top:8px;padding:8px 12px;pointer-events:none;position:absolute;text-align:center;top:100%;transform:translateX(-50%);white-space:normal;width:200px;z-index:1000}@keyframes fadeInTooltip{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.admin-only-icon:hover:before{border:5px solid #0000;border-bottom:5px solid #1a202c;border-top:none;content:"";height:0;left:50%;margin-top:3px;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);width:0;z-index:1001}.section-header:hover{background:#f7fafc;color:#33a544}.section-header.active{background:#e6fffa;color:#33a544}.section-arrow{color:#718096;flex-shrink:0;transition:transform .3s ease}.section-arrow.expanded{transform:rotate(180deg)}.subcategories-list{animation:slideDown .3s ease;margin-top:4px;padding-left:12px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.subcategory-item{background:#0000;border:none;border-radius:8px;color:#718096;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;margin-bottom:2px;padding:10px 16px 10px 32px;position:relative;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.subcategory-item:before{background:#cbd5e0;border-radius:50%;content:"";height:6px;left:16px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:6px}.subcategory-item:hover{background:#f7fafc;color:#33a544}.subcategory-item:hover:before{background:#33a544}.subcategory-item.active{background:#e6fffa;color:#33a544;font-weight:600}.subcategory-item.active:before{background:#33a544;height:8px;width:8px}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#a0aec0}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:998}.sidebar-overlay.active{display:block;opacity:1}@media (max-width:768px){.admin-only-icon:hover:after{font-size:11px;padding:6px 10px;width:160px}.sidebar{box-shadow:2px 0 10px #0000001a;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:999}.sidebar.open{transform:translateX(0)}.sidebar-header{padding:16px}.sidebar-title{font-size:16px}}.post-card{animation:slideInPost .5s ease backwards;animation-fill-mode:forwards;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #00000014;opacity:0;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes slideInPost{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.post-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.post-card.pinned{background:linear-gradient(90deg,#f0fff4 0,#fff 4%);border-left:4px solid #33a544}.post-pin-badge{align-items:center;background:#33a544;border-radius:20px;color:#fff;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;position:absolute;right:16px;top:16px}.post-pin-badge svg{height:14px;width:14px}.post-header{margin-bottom:16px}.post-meta{flex-wrap:wrap;justify-content:space-between}.post-author,.post-meta{align-items:center;display:flex;gap:12px}.author-avatar{border:2px solid #e2e8f0;border-radius:50%;height:40px;object-fit:cover;width:40px}.author-info{display:flex;flex-direction:column}.author-name{color:#2d3748;font-size:14px;font-weight:600}.post-date{color:#718096;font-size:12px}.post-header-actions{align-items:center;display:flex;gap:12px}.post-category-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.post-section-badge{background:#e6fffa;color:#33a544}.post-section-badge,.post-subcategory-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.post-subcategory-badge{background:#eef2ff;color:#4c51bf}.post-edit-button{align-items:center;background:#0000;border:2px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.post-edit-button:hover{background:#f7fafc;border-color:#33a544;color:#33a544;transform:scale(1.05)}.post-edit-button svg{flex-shrink:0}.post-delete-button{align-items:center;background:#0000;border:2px solid #e2e8f0;border-radius:8px;color:#e53e3e;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.post-delete-button:hover{background:#e53e3e1a;border-color:#e53e3e;color:#c53030;transform:scale(1.05)}.post-delete-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.post-delete-button svg{flex-shrink:0}.post-content{margin-bottom:16px}.post-title{color:#1a202c;font-size:22px;font-weight:700;line-height:1.4;margin:0 0 12px}.post-body{color:#4a5568;font-size:15px;line-height:1.6}.post-body .auto-link{align-items:center;background:#0066cc0d;border:2px solid #06c;border-radius:6px;color:#06c;display:inline-flex;font-weight:500;gap:6px;margin:0 2px;padding:4px 10px;text-decoration:none;transition:all .2s ease;word-break:break-all}.post-body .auto-link:hover{background:#0066cc1a;border-color:#0052a3;box-shadow:0 2px 6px #06c3;color:#0052a3;transform:translateY(-1px)}.post-body .auto-link .link-icon{stroke:currentColor;flex-shrink:0;height:14px;width:14px}.post-body.expanded{max-height:none}.post-body:not(.expanded){max-height:200px;overflow:hidden}.expand-button{background:#0000;border:2px solid #33a544;border-radius:8px;color:#33a544;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:8px 16px;transition:all .3s ease}.expand-button:hover{background:#33a544;color:#fff}.post-attachments{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.post-attachments h4{color:#2d3748;font-size:14px;font-weight:600;margin:0 0 12px}.attachments-list{display:flex;flex-direction:column;gap:8px}.attachment-link{align-items:center;background:#f7fafc;border-radius:8px;color:#06c;display:flex;font-size:14px;gap:8px;padding:10px 12px;text-decoration:none;transition:all .2s ease}.attachment-link:hover{background:#edf2f7;transform:translateX(4px)}.attachment-link svg{flex-shrink:0}.post-poll{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:20px;padding:20px}.post-poll h4{color:#2d3748;font-size:16px;font-weight:600;margin:0 0 16px}.poll-options{display:flex;flex-direction:column;gap:12px}.poll-option,.poll-option-button{align-items:center;display:flex;gap:12px}.poll-option-button{background:#0000;border:2px solid #0000;border-radius:12px;cursor:pointer;padding:0;text-align:left;transition:all .3s ease;width:100%}.poll-option-button:hover:not(.disabled){background:#edf2f7;border-color:#33a544;transform:translateX(4px)}.poll-option-button.disabled{cursor:not-allowed;opacity:.6}.poll-option-button:active:not(.disabled){transform:translateX(2px)}.poll-option-wrapper{display:flex;flex-direction:column;gap:8px}.poll-votes-details{border-left:2px solid #e2e8f0;margin-top:4px;padding-left:12px}.poll-votes-toggle{align-items:center;background:#0000;border:none;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-family:inherit;font-size:12px;gap:6px;padding:6px 10px;transition:all .2s ease}.poll-votes-toggle:hover{background:#f7fafc;color:#33a544}.poll-votes-toggle svg{flex-shrink:0;transition:transform .2s ease}.poll-votes-list{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;max-height:200px;overflow-y:auto;padding:8px}.poll-vote-item{align-items:center;border-bottom:1px solid #f7fafc;display:flex;font-size:12px;justify-content:space-between;padding:6px 8px}.poll-vote-item:last-child{border-bottom:none}.poll-vote-user{color:#2d3748;font-weight:500}.poll-vote-time{color:#718096;font-size:11px}.poll-option-bar{background:#e2e8f0;border-radius:16px;flex:1 1;height:32px;overflow:hidden;position:relative}.poll-option-fill{background:linear-gradient(90deg,#33a544,#a6ce39);border-radius:16px;height:100%;transition:width .5s ease}.poll-option-text{color:#2d3748;font-size:14px;font-weight:500;min-width:120px;text-align:right}@media (max-width:768px){.post-card{border-radius:12px;padding:16px}.post-header{margin-bottom:12px}.post-meta{align-items:flex-start;flex-direction:column;gap:8px}.post-header-actions{justify-content:space-between;width:100%}.post-title{font-size:18px}.post-body{font-size:14px}.post-attachments{margin-top:16px;padding-top:16px}.post-poll{margin-top:16px;padding:16px}.poll-option-button{align-items:flex-start;flex-direction:column;gap:8px}.poll-option-bar{width:100%}.poll-option-text{font-size:13px;min-width:auto;text-align:left}.post-edit-button{height:28px;width:28px}.post-edit-button svg{height:14px;width:14px}}@media (max-width:480px){.post-card{padding:12px}.post-title{font-size:16px}.author-avatar{height:32px;width:32px}.author-name{font-size:13px}.post-date{font-size:11px}}.post-edit-overlay{align-items:center;animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:9999}.post-edit-modal{animation:slideUpModal .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;margin:auto;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:100%;z-index:10000}@media (max-width:768px){.post-edit-overlay{padding:10px}.post-edit-modal{border-radius:12px;max-height:95vh;max-width:100%}.post-edit-header{padding:16px}.post-edit-header h3{font-size:18px}.post-edit-modal form{padding:16px}.post-edit-form-row{gap:12px;grid-template-columns:1fr}.post-edit-form-group input[type=datetime-local],.post-edit-form-group input[type=text],.post-edit-form-group select,.post-edit-form-group textarea{font-size:16px}}.post-edit-datetime-input{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.post-edit-datetime-input:focus{border-color:#33a544;outline:none}@media (max-width:480px){.post-edit-overlay{padding:0}.post-edit-modal{border-radius:0;height:100vh;max-height:100vh}}.post-edit-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.post-edit-header h3{color:#1a202c;font-size:20px;font-weight:700;margin:0}.post-edit-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#718096;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.post-edit-close:hover{background:#f7fafc;color:#2d3748}.post-edit-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin:16px 24px;padding:12px 16px}.post-edit-modal form{padding:24px}.post-edit-form-group{margin-bottom:20px}.post-edit-form-group label{color:#2d3748;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.post-edit-form-group input[type=file],.post-edit-form-group input[type=text],.post-edit-form-group select,.post-edit-form-group textarea{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.post-edit-form-group input[type=text]:focus,.post-edit-form-group select:focus,.post-edit-form-group textarea:focus{border-color:#33a544;outline:none}.post-edit-form-group textarea{min-height:120px;resize:vertical}.post-edit-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.post-edit-checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px}.post-edit-checkbox-label input[type=checkbox]{cursor:pointer;margin:0;width:auto}.post-edit-poll-form{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:16px}.post-edit-poll-option{display:flex;gap:8px;margin-bottom:8px}.post-edit-poll-option input{flex:1 1}.post-edit-remove-option{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.post-edit-remove-option:hover{background:#fcc}.post-edit-add-option{background:#0000;border:2px dashed #33a544;border-radius:8px;color:#33a544;cursor:pointer;font-size:14px;font-weight:600;margin-top:8px;padding:8px 16px;transition:all .2s ease}.post-edit-add-option:hover{background:#f0fff4;border-style:solid}.post-edit-attachments{display:flex;flex-direction:column;gap:8px;margin-top:12px}.post-edit-attachment-item{align-items:center;background:#f7fafc;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px}.post-edit-attachment-item button{background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;cursor:pointer;font-size:16px;height:24px;padding:0;transition:all .2s ease;width:24px}.post-edit-attachment-item button:hover{background:#fcc}.post-edit-form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.post-edit-cancel,.post-edit-save{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.post-edit-cancel{background:#f7fafc;color:#4a5568}.post-edit-cancel:hover:not(:disabled){background:#edf2f7}.post-edit-save{background:#33a544;color:#fff}.post-edit-save:hover:not(:disabled){background:#2d8f3d;box-shadow:0 4px 12px #33a5444d;transform:translateY(-1px)}.post-edit-cancel:disabled,.post-edit-save:disabled{cursor:not-allowed;opacity:.6}.file-upload-wrapper{display:inline-block;position:relative;width:100%}.file-upload-input{height:0;opacity:0;overflow:hidden;position:absolute;width:0}.file-upload-button{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);border:none;border-radius:12px;box-shadow:0 2px 8px #33a54433;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:12px 24px;transition:all .3s ease;width:100%}.file-upload-button:hover{background:linear-gradient(135deg,#2d9439,#95b832);box-shadow:0 4px 12px #33a5444d;transform:translateY(-1px)}.file-upload-button:active{box-shadow:0 2px 6px #33a54440;transform:translateY(0)}.file-upload-button:disabled{background:#cbd5e0;box-shadow:none;cursor:not-allowed;transform:none}.file-upload-button svg{flex-shrink:0;height:20px;width:20px}.file-upload-icon{align-items:center;display:inline-flex;justify-content:center}.file-upload-button-light{background:#fff;border:2px solid #33a544;box-shadow:none;color:#33a544}.file-upload-button-light:hover{background:#f0fdf4;border-color:#2d9439;color:#2d9439}.file-replace-button{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);border:none;border-radius:8px;box-shadow:0 2px 6px #33a54433;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s ease}.file-replace-button:hover{background:linear-gradient(135deg,#2d9439,#95b832);box-shadow:0 3px 8px #33a5444d;transform:translateY(-1px)}.file-replace-button:active{transform:translateY(0)}.file-replace-button:disabled{background:#cbd5e0;box-shadow:none;cursor:not-allowed;transform:none}.file-upload-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.file-upload-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px;transition:all .2s ease}.file-upload-item:hover{background:#edf2f7;border-color:#cbd5e0}.file-upload-item-name{align-items:center;color:#2d3748;display:flex;flex:1 1;font-size:14px;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-item-name svg{color:#33a544;flex-shrink:0;height:16px;width:16px}.file-upload-item-remove{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:600;justify-content:center;padding:4px 8px;transition:all .2s ease}.file-upload-item-remove:hover{background:#fecaca;color:#b91c1c}.file-upload-info{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-size:13px;margin-top:8px;padding:10px 14px}.file-upload-info strong{font-weight:600}.file-upload-hint{color:#718096;font-size:13px;line-height:1.5;margin-top:8px}@media (max-width:768px){.file-upload-button{font-size:13px;min-height:44px;padding:10px 20px}.file-upload-item{padding:8px 12px}.file-upload-item-name{font-size:13px}}.feed{width:100%}.feed-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.feed-title{color:#1a202c;font-size:28px;font-weight:700;margin:0}.feed-count{background:#f7fafc;border-radius:20px;color:#718096;font-size:14px;padding:6px 12px}.posts-list{gap:20px}.feed-loading,.posts-list{display:flex;flex-direction:column}.feed-loading{align-items:center;color:#718096;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#33a544;height:40px;margin-bottom:16px;width:40px}.feed-error{background:#fee;border:1px solid #fcc;border-radius:12px;color:#c33;padding:24px;text-align:center}.retry-button{background:#33a544;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:12px;padding:8px 16px;transition:all .2s ease}.retry-button:hover{background:#2d8f3d}.feed-empty{color:#718096;padding:60px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px}.feed-empty h3{color:#2d3748;font-size:24px;margin:0 0 8px}.feed-empty p{font-size:16px;margin:0}.fade-in{animation:fadeInFeed .4s ease}@keyframes fadeInFeed{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.feed-header{margin-bottom:16px}.feed-title{font-size:22px}.feed-count{font-size:12px;padding:4px 10px}.posts-list{gap:16px}.feed-empty,.feed-loading{padding:40px 16px}.empty-icon{font-size:48px}.feed-empty h3{font-size:20px}}@media (max-width:480px){.feed-title{font-size:20px}.posts-list{gap:12px}}.profile-overlay{align-items:center;animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.profile-overlay.closing{animation:fadeOutOverlay .3s ease forwards}.profile-modal{animation:slideUpModal .4s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:90%}.profile-modal.closing{animation:slideDownModal .3s ease forwards}@keyframes slideDownModal{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.95)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.profile-close{align-items:center;background:#f7fafc;border:none;border-radius:50%;color:#718096;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:36px;z-index:10}.profile-close:hover{background:#edf2f7;color:#2d3748}.profile-header{background:linear-gradient(135deg,#33a544,#a6ce39);border-radius:20px 20px 0 0;color:#fff;padding:40px 32px 32px;text-align:center}.profile-avatar-container{display:inline-block;margin-bottom:16px;position:relative}.profile-avatar{border:4px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0003;height:100px;margin:0 auto;overflow:hidden;width:100px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{background:#fff3;font-size:40px;font-weight:700;height:100%;width:100%}.avatar-placeholder,.avatar-upload-button{align-items:center;color:#fff;display:flex;justify-content:center}.avatar-upload-button{background:linear-gradient(135deg,#33a544,#a6ce39);border:3px solid #fff;border-radius:50%;bottom:0;box-shadow:0 2px 8px #33a54440;cursor:pointer;height:44px;position:absolute;right:0;transition:all .3s ease;width:44px}.avatar-upload-button:hover{background:linear-gradient(135deg,#2d9439,#95b832);box-shadow:0 4px 12px #33a54466;transform:scale(1.1)}.avatar-upload-button:active{transform:scale(1.05)}.profile-name{color:#fff;font-size:24px;font-weight:700;margin:0 0 8px}.profile-role{background:#fff3;border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;padding:6px 16px}.profile-content{padding:32px}.profile-info{gap:24px}.info-item,.profile-info{display:flex;flex-direction:column}.info-item{gap:8px}.info-item label{color:#718096;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item p{color:#2d3748;font-size:16px;font-weight:500;margin:0}.profile-error{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;font-size:14px;margin-bottom:24px;padding:12px 16px}.profile-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#718096;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.profile-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;font-family:inherit;font-size:16px;padding:12px 16px;transition:all .3s ease}.profile-input:focus{border-color:#33a544;box-shadow:0 0 0 3px #33a5441a;outline:none}.profile-name .profile-input{background:#fff3;border:2px solid #ffffff4d;color:#fff;font-size:24px;font-weight:700;text-align:center}.profile-name .profile-input::placeholder{color:#ffffffb3}.profile-name .profile-input:focus{background:#ffffff40;border-color:#ffffff80}.profile-modal .profile-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:12px 24px;transition:all .3s ease;width:100%}.profile-modal .profile-button-edit{background:linear-gradient(135deg,#33a544,#a6ce39);color:#fff;margin-top:8px}.profile-modal .profile-button-edit:hover{box-shadow:0 4px 12px #33a54466;transform:translateY(-2px)}.profile-modal .profile-button-save{background:linear-gradient(135deg,#33a544,#a6ce39);color:#fff}.profile-modal .profile-button-save:hover:not(:disabled){box-shadow:0 4px 12px #33a54466;transform:translateY(-2px)}.profile-modal .profile-button-save:disabled{cursor:not-allowed;opacity:.6}.profile-modal .profile-button-cancel{background:#e2e8f0;color:#4a5568}.profile-modal .profile-button-cancel:hover:not(:disabled){background:#cbd5e0}.profile-modal .profile-button-cancel:disabled{cursor:not-allowed;opacity:.6}.profile-modal .profile-button-admin{background:linear-gradient(135deg,#33a544,#a6ce39);color:#fff;margin-top:8px}.profile-modal .profile-button-admin:hover{box-shadow:0 4px 12px #33a54466;transform:translateY(-2px)}.fade-in{animation:fadeInContent .4s ease}.admin-overlay{align-items:center;animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.admin-overlay.closing{animation:fadeOutOverlay .3s ease forwards}@keyframes fadeOutOverlay{0%{opacity:1}to{opacity:0}}.admin-panel{animation:slideUpPanel .4s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;overflow:hidden;width:95%}.admin-panel.closing{animation:slideDownPanel .3s ease forwards}@keyframes slideUpPanel{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDownPanel{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.95)}}.admin-header{background:linear-gradient(135deg,#33a544,#a6ce39);border-radius:20px 20px 0 0;color:#fff;flex-shrink:0;overflow:hidden;padding:24px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:200}.admin-header-background{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:0}.gear{opacity:.4;position:absolute}.gear-1{animation:rotateGear 30s linear infinite;right:8%;top:-30px}.gear-2{animation:rotateGear 25s linear infinite reverse;bottom:-20px;left:12%}.gear-3{animation:rotateGear 35s linear infinite;right:3%;top:50%;transform:translateY(-50%)}@keyframes rotateGear{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.admin-header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;position:relative;z-index:201}.admin-title{font-size:24px;font-weight:700;gap:12px;margin:0}.admin-close,.admin-title{align-items:center;color:#fff;display:flex}.admin-close{background:#fff3;border:none;border-radius:50%;cursor:pointer;height:40px;justify-content:center;transition:all .3s ease;width:40px}.admin-close:hover{background:#ffffff4d;transform:rotate(90deg)}.admin-tabs{-webkit-overflow-scrolling:touch;flex-wrap:wrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;z-index:202}.admin-tab,.admin-tabs{display:flex;gap:8px;position:relative}.admin-tab{align-items:center;background:#ffffff26;border:none;border-radius:12px;color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;overflow:hidden;padding:12px 24px;pointer-events:auto;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;z-index:203}.admin-tab:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease;width:0}.admin-tab:hover:before{height:200px;width:200px}.admin-tab:hover{background:#ffffff40;transform:translateY(-2px)}.admin-tab.active{background:#fff;box-shadow:0 4px 12px #00000026;color:#33a544;transform:scale(1.05)}.tab-icon{font-size:18px}.admin-content{flex:1 1;overflow-y:auto;padding:32px;position:relative;z-index:1}.admin-content.fade-in{animation:fadeInContent .3s ease}.admin-content.fade-out{animation:fadeOutContent .2s ease}@keyframes fadeOutContent{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-20px)}}.admin-content::-webkit-scrollbar{width:8px}.admin-content::-webkit-scrollbar-track{background:#f1f1f1}.admin-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#33a544,#a6ce39);border-radius:4px}.admin-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#a6ce39,#33a544)}@media (max-width:768px){.admin-panel{border-radius:0;max-height:100vh;width:100%}.admin-header{border-radius:0;padding:16px 20px}.admin-content{padding:20px 16px}.admin-tabs{-webkit-overflow-scrolling:touch;gap:4px;overflow-x:auto;padding-bottom:8px}.admin-tab{flex-shrink:0;font-size:12px;padding:10px 16px;white-space:nowrap}}@media (max-width:480px){.admin-header{padding:12px 16px}.admin-header h2{font-size:18px}.admin-content{padding:16px 12px}.admin-tabs{gap:2px}.admin-tab{font-size:11px;padding:8px 12px}}.admin-users{width:100%}.admin-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.admin-section-header h3{color:#1a202c;font-size:24px;font-weight:700;margin:0}.admin-add-button{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.admin-add-button:hover{box-shadow:0 4px 12px #33a54466;transform:translateY(-2px)}.admin-loading{color:#718096;padding:40px;text-align:center}.admin-error{background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;font-size:14px;margin-bottom:24px;padding:12px 16px}.admin-form-overlay{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:24px}.admin-form{display:flex;flex-direction:column;gap:16px}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.form-header h4{color:#1a202c;font-size:18px;font-weight:700;margin:0}.form-close{align-items:center;background:#0000;border:none;border-radius:50%;color:#718096;cursor:pointer;display:flex;font-family:inherit;font-size:24px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.form-close:hover{background:#e2e8f0;color:#2d3748}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#2d3748;font-size:14px;font-weight:600}.form-group input,.form-group select{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{border-color:#33a544;box-shadow:0 0 0 3px #33a5441a;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:12px;margin-top:8px}.admin-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.admin-button-save{background:linear-gradient(135deg,#33a544,#a6ce39);color:#fff}.admin-button-save:hover{box-shadow:0 4px 12px #33a54466;transform:translateY(-2px)}.admin-button-cancel{background:#e2e8f0;color:#4a5568}.admin-button-cancel:hover{background:#cbd5e0}.admin-table-container{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto;width:100%}.admin-table{background:#fff;border-collapse:collapse;width:100%}.admin-table thead{background:#f7fafc}.admin-table th{border-bottom:2px solid #e2e8f0;color:#718096;font-size:12px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:14px;padding:12px 16px}.admin-table tbody tr:hover{background:#f7fafc}@media (max-width:768px){.admin-section-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.admin-section-header h3{font-size:20px}.admin-add-button{justify-content:center;padding:12px 20px;width:100%}.admin-form-overlay{margin-bottom:16px;padding:16px}.form-row{flex-direction:column;gap:12px}.admin-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{font-size:13px;min-width:600px}.admin-table td,.admin-table th{font-size:12px;padding:8px 6px}.admin-actions{flex-wrap:nowrap;gap:4px;min-width:-webkit-fit-content;min-width:fit-content}.admin-action-button{flex-shrink:0;height:28px;min-width:28px;padding:0;width:28px}.admin-action-button svg{height:14px;width:14px}}@media (max-width:480px){.admin-section-header h3{font-size:18px}.admin-table{font-size:12px;min-width:500px}.admin-table td,.admin-table th{font-size:11px;padding:6px 4px}.role-badge,.status-badge{font-size:10px;padding:4px 8px}}.admin-empty{color:#718096;padding:40px;text-align:center}.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.role-badge.admin{background:#fed7d7;color:#c53030}.role-badge.teacher{background:#c6f6d5;color:#22543d}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-badge.active{background:#c6f6d5;color:#22543d}.status-badge.inactive{background:#fed7d7;color:#c53030}.admin-actions{display:flex;gap:8px}.admin-action-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.admin-action-edit{background:#e6fffa;color:#33a544}.admin-action-edit:hover{background:#b2f5ea;transform:scale(1.1)}.admin-action-delete{background:#fed7d7;color:#c53030}.admin-action-delete:hover{background:#fc8181;color:#fff;transform:scale(1.1)}.admin-file-manager{padding:0}.file-manager-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.file-manager-header h3{color:#2d3748;font-size:24px;margin:0}.disk-space-info{display:flex;flex-direction:column;gap:8px;min-width:300px}.disk-space-bar{background:#e2e8f0;border-radius:12px;height:24px;overflow:hidden;position:relative;width:100%}.disk-space-fill{background:linear-gradient(90deg,#33a544,#a6ce39);border-radius:12px;height:100%;transition:width .3s ease}.disk-space-text{color:#4a5568;font-size:14px;font-weight:600}.disk-space-free{color:#718096;font-size:12px}.files-by-section{display:flex;flex-direction:column;gap:32px}.section-files{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.section-title{align-items:center;color:#2d3748;display:flex;font-size:20px;gap:8px;margin:0 0 20px}.file-count{color:#718096;font-size:16px;font-weight:400}.files-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.file-item{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:16px;position:relative;transition:all .3s ease}.file-item:hover{border-color:#33a544;box-shadow:0 4px 12px #33a54426;transform:translateY(-2px)}.file-icon{font-size:32px}.file-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2d3748;display:-webkit-box;font-size:13px;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;word-break:break-word}.file-actions{animation:fadeInActions .2s ease;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:8px;left:50%;padding:12px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}@keyframes fadeInActions{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.file-action-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.file-action-replace{background:#33a544;color:#fff}.file-action-replace:hover{background:#2d8f3d;transform:translateY(-1px)}.file-action-delete{background:#ef4444;color:#fff}.file-action-delete:hover{background:#dc2626;transform:translateY(-1px)}.file-action-rename{background:#06c;color:#fff}.file-action-rename:hover{background:#0052a3;transform:translateY(-1px)}.file-rename-form{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:12px;left:50%;min-width:250px;padding:16px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:20}.file-rename-input{border:2px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.file-rename-input:focus{border-color:#33a544}.file-rename-buttons{display:flex;gap:8px;justify-content:flex-end}.file-rename-cancel,.file-rename-save{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:6px 16px;transition:all .2s}.file-rename-save{background:#33a544;color:#fff}.file-rename-save:hover{background:#2d8f3d}.file-rename-cancel{background:#e2e8f0;color:#4a5568}.file-rename-cancel:hover{background:#cbd5e0}@media (max-width:768px){.files-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.file-manager-header{align-items:flex-start;flex-direction:column}}.schedule-container{animation:fadeInContent .5s ease;padding:32px;width:100%}.schedule-header{margin-bottom:32px}.schedule-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:24px}.schedule-type-selector{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;padding:4px}.schedule-type-button{background:#0000;border:none;border-radius:6px;color:#4a5568;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.schedule-type-button:hover{background:#33a5441a;color:#33a544}.schedule-type-button.active{background:#33a544;box-shadow:0 2px 4px #33a54433;color:#fff}@media (max-width:768px){.schedule-title-row{align-items:flex-start;flex-direction:column}.schedule-type-selector{justify-content:stretch;width:100%}.schedule-type-button{flex:1 1;text-align:center}}.schedule-sheets{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.schedule-error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin-bottom:24px;padding:16px}.schedule-excel-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;width:100%}.schedule-excel-header{background:linear-gradient(135deg,#33a544,#a6ce39);border-right:1px solid #fff3;color:#fff;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.schedule-excel-header:last-child{border-right:none}.schedule-excel-cell{background-color:#fff!important;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;color:#2d3748;font-size:14px;max-width:300px;padding:12px 16px;text-align:center;vertical-align:middle}.schedule-excel-cell:last-child{border-right:none}.schedule-cell-subject{word-wrap:break-word;color:#2d3748;font-weight:600;line-height:1.4;margin-bottom:8px;text-align:center}.schedule-cell-teachers{align-items:center;display:flex;flex-direction:column;gap:4px;margin-top:4px}.schedule-teacher-badge{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;display:inline-flex;font-size:11px;gap:6px;padding:4px 8px;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.schedule-teacher-badge:hover{background:#edf2f7;border-color:#33a544;box-shadow:0 2px 4px #33a5441a;transform:translateY(-1px)}.schedule-teacher-badge svg{color:#33a544;flex-shrink:0;height:12px;width:12px}.schedule-teacher-badge span{font-weight:500;white-space:nowrap}.schedule-excel-table tbody tr:hover{background-color:#f7fafc}.schedule-excel-table tbody tr:last-child td{border-bottom:none}.schedule-title{color:#2d3748;font-size:28px;font-weight:700;margin-bottom:24px}.schedule-classes{display:flex;flex-wrap:wrap;gap:12px}.schedule-class-button{background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.schedule-class-button:hover{border-color:#33a544;box-shadow:0 4px 12px #33a54426;color:#33a544;transform:translateY(-2px)}.schedule-class-button.active{background:linear-gradient(135deg,#33a544,#a6ce39);border-color:#0000;box-shadow:0 4px 16px #33a5444d;color:#fff}.schedule-table-wrapper{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;overflow-x:auto}.schedule-table{border-collapse:collapse;min-width:800px;width:100%}.schedule-table thead{background:linear-gradient(135deg,#33a544,#a6ce39);color:#fff}.schedule-table th{border-right:1px solid #fff3;font-size:14px;font-weight:600;padding:16px 12px;text-align:center}.schedule-table th:last-child{border-right:none}.schedule-day-header{min-width:150px}.schedule-lesson-number{background:#33a5441a;color:#33a544;font-weight:700;width:60px}.schedule-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s ease}.schedule-table tbody tr:hover{background-color:#f7fafc}.schedule-table tbody tr:last-child{border-bottom:none}.schedule-cell{border-right:1px solid #e2e8f0;min-height:80px;padding:12px;text-align:center;vertical-align:top}.schedule-cell:last-child{border-right:none}.schedule-lesson{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px;transition:all .2s ease}.schedule-lesson:hover{background:#edf2f7;border-color:#33a544;transform:scale(1.02)}.schedule-subject{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:4px}.schedule-teacher{color:#718096;font-size:12px;margin-bottom:2px}.schedule-classroom{color:#a0aec0;font-size:11px;font-weight:500}.schedule-empty-cell{color:#cbd5e0;font-size:14px}.schedule-empty,.schedule-error,.schedule-loading{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;color:#718096;font-size:18px;padding:60px 20px;text-align:center}.schedule-error{color:#e53e3e}.schedule-empty h3,.schedule-error h3{color:#2d3748;font-size:24px;margin-bottom:12px}.schedule-empty p,.schedule-error p{line-height:1.6;margin:8px 0}@media (max-width:768px){.schedule-container{padding:16px}.schedule-title{font-size:24px;margin-bottom:16px}.schedule-classes{-webkit-overflow-scrolling:touch;flex-wrap:wrap;gap:8px;overflow-x:auto;padding-bottom:8px}.schedule-class-button{font-size:14px;padding:10px 16px;white-space:nowrap}.schedule-table-container{-webkit-overflow-scrolling:touch;margin:0 -16px;overflow-x:auto;padding:0 16px}.schedule-table{font-size:12px;min-width:600px}.schedule-table td,.schedule-table th{padding:8px 6px}.schedule-cell-subject{font-size:12px}.schedule-cell-teachers{margin-top:4px}.schedule-teacher-badge{font-size:10px;margin:2px 0;padding:3px 6px}.schedule-teacher-badge svg{height:10px;width:10px}}@media (max-width:480px){.schedule-container{padding:12px}.schedule-title{font-size:20px;margin-bottom:12px}.schedule-class-button{font-size:12px;padding:8px 12px}.schedule-table{font-size:11px;min-width:500px}.schedule-table td,.schedule-table th{padding:6px 4px}.schedule-cell-subject{font-size:11px}.schedule-teacher-badge{font-size:9px;padding:2px 4px}}.trash-container{margin:0 auto;max-width:1200px;padding:20px}.trash-error,.trash-loading{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;color:#e53e3e;font-size:16px;margin:20px 0;padding:40px 20px;text-align:center}.trash-header{border-bottom:2px solid #e2e8f0;margin-bottom:30px;padding-bottom:20px}.trash-title{align-items:center;color:#2d3748;display:flex;font-size:28px;font-weight:700;gap:12px;margin:0 0 8px}.trash-subtitle{color:#718096;font-size:16px;margin:0}.trash-empty{color:#a0aec0;padding:80px 20px;text-align:center}.trash-empty svg{margin-bottom:20px;opacity:.5}.trash-empty p{font-size:18px;margin:0}.trash-posts{display:flex;flex-direction:column;gap:20px}.trash-post-wrapper{position:relative}.trash-deletion-info{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-top:16px;padding:16px}.trash-deletion-info-item{align-items:center;color:#744210;display:flex;font-size:14px;gap:8px}.trash-deletion-info-item svg{color:#c05621;flex-shrink:0}.trash-deletion-label{color:#744210;font-weight:600}.trash-deletion-value{color:#744210;font-weight:500}.trash-post-actions{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;margin-top:12px;padding:16px}.trash-delete-button,.trash-restore-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.trash-restore-button{background:#33a544;color:#fff}.trash-restore-button:hover{background:#2d8f3d}.trash-delete-button{background:#e53e3e;color:#fff}.trash-delete-button:hover{background:#c53030}@media (max-width:768px){.trash-container{padding:16px}.trash-title{font-size:24px}.trash-post-actions{flex-direction:column}.trash-delete-button,.trash-restore-button{justify-content:center;width:100%}}.date-widget{align-items:center;border-radius:8px;cursor:pointer;display:flex;padding:8px 12px;position:relative;transition:background-color .2s ease}.date-widget:hover{background-color:#33a5440d}.date-display{align-items:center;display:flex;font-size:14px;font-weight:500;gap:6px}.date-day{color:#2d3748;font-size:16px;font-weight:700}.date-month{color:#4a5568;text-transform:lowercase}.date-weekday{border-radius:4px;font-weight:600;padding:2px 6px}.date-weekday.weekday{color:#06c}.date-weekday.weekend{color:#e53e3e}.calendar-popup{animation:fadeInCalendar .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;left:50%;min-width:280px;padding:16px;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);z-index:1000}@keyframes fadeInCalendar{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.calendar-header{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:8px;text-align:center}.calendar-month-year{color:#2d3748;font-size:16px;font-weight:600}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-weekday{color:#718096;font-size:12px;font-weight:600;padding:4px;text-align:center}.calendar-days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;border-radius:6px;color:#2d3748;cursor:pointer;display:flex;font-size:13px;justify-content:center;transition:all .2s ease}.calendar-day.empty{cursor:default}.calendar-day:not(.empty):hover{background-color:#f7fafc}.calendar-day.today{background:linear-gradient(135deg,#33a544,#a6ce39);color:#fff;font-weight:700}.calendar-day.weekend:not(.today){color:#e53e3e}@media (max-width:768px){.date-widget{display:none}}.weather-widget{align-items:center;border-radius:8px;display:flex;gap:8px;padding:6px 12px;transition:background-color .2s ease}.weather-widget:hover{background-color:#33a5440d}.weather-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.weather-icon svg{height:100%;width:100%}.weather-icon[class*=sunny] svg{fill:#fbbf24;color:#fbbf24}.weather-icon[class*=cloudy] svg{color:#94a3b8}.weather-icon[class*=rain] svg{color:#3b82f6}.weather-icon[class*=snow] svg{color:#60a5fa}.weather-loading{position:relative}.weather-spinner{animation:spin .6s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#33a544;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.weather-temp{color:#2d3748;font-size:14px;font-weight:600;white-space:nowrap}@media (max-width:768px){.weather-widget{display:none}}.session-expired-overlay{align-items:center;animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.session-expired-modal{animation:slideUpModal .4s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;text-align:center;width:90%}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.session-expired-icon{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;color:#f59e0b;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.session-expired-icon svg{height:48px;width:48px}.session-expired-modal h2{color:#1a202c;font-size:24px;font-weight:700;margin:0 0 16px}.session-expired-modal p{color:#4a5568;font-size:16px;line-height:1.6;margin:0 0 32px}.session-expired-button{background:linear-gradient(135deg,#33a544,#a6ce39);border:none;border-radius:12px;box-shadow:0 4px 12px #33a5444d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .3s ease;width:100%}.session-expired-button:hover{background:linear-gradient(135deg,#2d9439,#95b832);box-shadow:0 6px 16px #33a54466;transform:translateY(-2px)}.session-expired-button:active{box-shadow:0 4px 12px #33a5444d;transform:translateY(0)}@media (max-width:480px){.session-expired-modal{padding:32px 24px}.session-expired-modal h2{font-size:20px}.session-expired-modal p{font-size:14px}}.app{background:#f7fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid #0000000d;box-shadow:0 4px 20px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-container{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:auto 1fr auto;margin:0 auto;max-width:1400px;padding:16px 24px}.nav-brand{align-items:center;display:flex;gap:12px;justify-self:start}.brand-text{color:#1a202c;font-size:20px;font-weight:700;letter-spacing:-.3px}.nav-center{gap:16px;justify-content:center;justify-self:center}.nav-actions,.nav-center{align-items:center;display:flex}.nav-actions{gap:12px;justify-self:end}.search-box{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;padding:8px 16px;position:relative;transition:all .3s ease;width:300px}.search-box:focus-within{border-color:#33a544;box-shadow:0 0 0 3px #33a5441a}.search-icon{color:#718096;flex-shrink:0;margin-right:8px}.search-input{border:none;color:#2d3748;flex:1 1;font-family:inherit;font-size:14px;outline:none}.search-input::placeholder{color:#a0aec0}.search-clear{align-items:center;background:#0000;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.search-clear:hover{background:#f7fafc;color:#2d3748}.admin-panel-button{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);border:none;border-radius:10px;box-shadow:0 2px 8px #33a5444d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .3s ease}.admin-panel-button:hover{box-shadow:0 4px 12px #33a54466;transform:translateY(-2px)}.profile-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#33a544;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.profile-button svg{display:block;height:20px;width:20px}.profile-button:hover{background:#f7fafc;border-color:#33a544;transform:translateY(-1px)}.logout-button{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);border:none;border-radius:10px;box-shadow:0 2px 8px #33a5444d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.logout-button:hover{box-shadow:0 4px 12px #33a54466;transform:translateY(-2px)}.logout-button:active{transform:translateY(0)}.app-content{animation:fadeInContent .4s ease;display:flex;min-height:calc(100vh - 70px)}.main-content{animation:fadeInContent .5s ease;flex:1 1;margin:0 auto;max-width:1200px;padding:32px;width:100%}@keyframes fadeInContent{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-banner{animation:fadeInUp .6s ease-out;background:linear-gradient(135deg,#33a544,#a6ce39);border-radius:20px;color:#fff;margin-bottom:32px;overflow:hidden;padding:60px 20px;position:relative;text-align:center}.welcome-banner:before{animation:bannerParticles 15s linear infinite;background-image:radial-gradient(circle at 15% 25%,#ffffff26 3px,#0000 0),radial-gradient(circle at 85% 75%,#ffffff1f 2px,#0000 0),radial-gradient(circle at 50% 50%,#ffffff1a 4px,#0000 0),radial-gradient(circle at 30% 70%,#ffffff14 2px,#0000 0),radial-gradient(circle at 70% 30%,#ffffff1f 2.5px,#0000 0);background-position:0 0,40px 40px,80px 80px,120px 120px,160px 160px;background-size:150px 150px,120px 120px,200px 200px,100px 100px,130px 130px;bottom:0;content:"";left:0;opacity:.7;position:absolute;right:0;top:0;z-index:0}@keyframes bannerParticles{0%{transform:translate(0)}to{transform:translate(150px,150px)}}.welcome-banner:after{animation:bannerPulse 6s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 70% 70%,#ffffff14 0,#0000 50%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:0}@keyframes bannerPulse{0%,to{opacity:.5;transform:scale(1) rotate(0deg)}50%{opacity:.8;transform:scale(1.2) rotate(180deg)}}.welcome-banner .welcome-subtitle,.welcome-banner .welcome-title{animation:textFloat 3s ease-in-out infinite;position:relative;z-index:1}.welcome-banner .welcome-subtitle{animation-delay:.5s}@keyframes textFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.welcome-banner{box-shadow:0 10px 40px #33a5444d,inset 0 0 100px #ffffff1a}.welcome-banner:after,.welcome-banner:before{border-radius:20px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-title{color:#fff;font-size:36px;font-weight:800;letter-spacing:-.5px;margin:0 0 12px}.welcome-subtitle{color:#fff;font-size:18px;font-weight:400;margin:0;opacity:.95}.mobile-menu-button{background:#0000;border:none;border-radius:8px;color:#2d3748;cursor:pointer;display:none;margin-right:12px;padding:8px;transition:all .2s ease}.mobile-menu-button:hover{background:#f7fafc}.mobile-menu-button svg{display:block}@media (max-width:768px){.mobile-menu-button{display:block}.brand-text{font-size:16px}.nav-container{gap:12px;grid-template-columns:1fr;padding:12px 16px}.nav-brand{justify-self:start}.nav-center{display:none}.nav-actions{justify-self:end}.admin-panel-button{font-size:12px;padding:8px 12px}.admin-panel-button span{display:none}.logout-button{font-size:12px;padding:8px 12px}.logout-button span{display:none}.app-content{flex-direction:column}.main-content{padding:16px}.welcome-banner{border-radius:16px;padding:40px 16px}.welcome-title{font-size:24px}.welcome-subtitle{font-size:16px}}@media (max-width:480px){.app-content{flex-direction:column}.main-content{padding:20px 16px}.welcome-banner{padding:40px 20px}.welcome-title{font-size:28px}.welcome-subtitle{font-size:16px}.nav-container{flex-wrap:wrap;padding:12px 16px}.nav-actions{margin-top:12px;order:3;width:100%}.search-box{flex:1 1;width:100%}.brand-text{font-size:18px}.logout-button{font-size:13px;padding:8px 16px}}
/*# sourceMappingURL=main.061f65ec.css.map*/