*{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;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}.holiday-emoji-wrapper:hover @keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.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-hat-wrapper{right:12px}.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}}.file-preview{align-items:center;animation:filePreviewFadeIn .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172099;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2500}@keyframes filePreviewFadeIn{0%{opacity:0}to{opacity:1}}.file-preview-window{animation:filePreviewIn .24s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:16px;box-shadow:0 24px 60px #0f17204d;display:flex;flex-direction:column;height:min(900px,100%);overflow:hidden;width:min(1100px,100%)}@keyframes filePreviewIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.file-preview-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:16px;height:64px;justify-content:space-between;padding:0 16px 0 20px}.file-preview-name{align-items:center;color:#1a202c;display:flex;font-size:15px;font-weight:600;gap:10px;min-width:0}.file-preview-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.file-preview-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#4a5568;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:7px;height:38px;padding:0 14px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease;white-space:nowrap}.file-preview-button:hover{background:#f7fafc;border-color:#cbd5e0;color:#1a202c}.file-preview-button.primary{background:linear-gradient(135deg,#33a544,#7fbb3c);border-color:#0000;color:#fff}.file-preview-button.primary:hover{color:#fff;filter:brightness(1.05)}.file-preview-close{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#718096;cursor:pointer;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;padding:0;transition:background-color .16s ease,border-color .16s ease,color .16s ease;width:38px}.file-preview-close:hover{background:#f7fafc;border-color:#cbd5e0;color:#2d3748}.file-preview-body{background:#f7fafc;flex:1 1;min-height:0}.file-preview-frame{border:none;display:block;height:100%;width:100%}.file-preview-state{align-items:center;color:#718096;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;padding:32px;text-align:center}.file-preview-state h3{color:#2d3748;font-size:17px;font-weight:700;margin:0}.file-preview-state p{font-size:14px;margin:0}.file-preview-spinner{animation:filePreviewSpin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#33a544;height:34px;width:34px}@keyframes filePreviewSpin{to{transform:rotate(1turn)}}@media (max-width:768px){.file-preview{padding:0}.file-preview-window{border-radius:0;height:100%;padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top);width:100%}.file-preview-header{height:58px;padding:0 10px 0 14px}.file-preview-name{font-size:14px}.file-preview-button{padding:0 12px}}.rte{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}.rte:focus-within{border-color:#33a544;box-shadow:0 0 0 3px #33a5441f}.rte-toolbar{background:#f7fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:4px;padding:6px 8px}.rte-group,.rte-toolbar{align-items:center;display:flex}.rte-group{gap:2px}.rte-group+.rte-group:before{background:#e2e8f0;content:"";height:20px;margin:0 6px 0 2px;width:1px}.rte-button{align-items:center;background:#0000;border:none;border-radius:7px;color:#4a5568;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;height:32px;justify-content:center;line-height:1;padding:0;transition:background-color .14s ease,color .14s ease;width:32px}.rte-button:hover{background:#e2e8f0;color:#1a202c}.rte-button:active{background:#cbd5e0}.rte-button svg{height:17px;width:17px}.rte-content{color:#2d3748;font-family:inherit;font-size:15px;line-height:1.6;max-height:420px;min-height:180px;outline:none;overflow-y:auto;padding:12px 14px;word-break:break-word}.rte-content.is-empty:before{color:#a0aec0;content:attr(data-placeholder);pointer-events:none}.rte-content p{margin:0 0 10px}.rte-content ol,.rte-content ul{margin:0 0 10px;padding-left:24px}.rte-content li{margin-bottom:4px}.rte-content a{color:#0b62c4;text-decoration:underline}.rte-content mark{background:#fff3a3;border-radius:3px;color:inherit;padding:0 2px}@media (max-width:768px){.rte-content{min-height:150px}.rte-button{height:36px;width:36px}}.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.75}.post-important-badge{align-items:center;background:#d93025;border-radius:20px;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;gap:6px;letter-spacing:.3px;padding:5px 12px;text-transform:uppercase;white-space:nowrap}.post-important-badge svg{flex-shrink:0}.post-card.important{border-left:4px solid #d93025}.post-body p{margin:0 0 10px}.post-body p:last-child{margin-bottom:0}.post-body ol,.post-body ul{margin:0 0 10px;padding-left:24px}.post-body li{margin-bottom:4px}.post-body mark{background:#fff3a3;border-radius:3px;color:inherit;padding:0 3px}.post-body h1,.post-body h2,.post-body h3,.post-body h4{color:#2d3748;font-weight:700;line-height:1.3;margin:14px 0 8px}.post-body h1{font-size:20px}.post-body h2{font-size:18px}.post-body h3{font-size:16px}.post-body h4{font-size:15px}.post-body blockquote{border-left:3px solid #cbd5e0;color:#718096;margin:10px 0;padding:6px 0 6px 14px}.post-body code{background:#edf2f7;border-radius:4px;font-size:.92em;padding:1px 5px}.post-body .auto-link{background:#0b62c414;border:1px solid #0b62c44d;border-radius:999px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#0b62c4;display:inline;font-size:.95em;font-weight:500;line-height:1.25;margin:0 1px;overflow-wrap:break-word;padding:2px 10px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.post-body .auto-link:hover{background:#0b62c429;border-color:#0b62c4a6;color:#084a96}.post-body.expanded{max-height:none}.post-body:not(.expanded){max-height:200px;overflow:hidden;position:relative}.post-body:not(.expanded).clamped:after{background:linear-gradient(180deg,#fff0,#fff);bottom:0;content:"";height:48px;left:0;pointer-events:none;position:absolute;right:0}.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}.attachment-link .file-type-icon{display:block;flex-shrink:0}.attachment-name{min-width:0;overflow-wrap:anywhere}.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}}.feed-more{align-items:center;background:#0000;border:none;color:#4a5568;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:14px;gap:10px;padding:28px 20px 12px;width:100%}.feed-more .loading-spinner{display:block}.feed-more p{margin:0}.feed-loading-note{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:10px;justify-content:center;padding:4px 0 16px}.feed-loading-note .loading-spinner{border-width:2px;flex-shrink:0;height:18px;margin-bottom:0;width:18px}.feed-more-skeletons{display:flex;flex-direction:column;gap:20px;width:100%}.post-skeleton{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px}.post-skeleton-head{align-items:center;display:flex;gap:12px;margin-bottom:20px}.post-skeleton .skeleton-lines{display:flex;flex:1 1;flex-direction:column;gap:8px}.skeleton-block{animation:skeletonShimmer 1.4s ease-in-out infinite;background:#edf2f7;background-image:linear-gradient(90deg,#edf2f7,#f7fafc 40%,#fff 50%,#f7fafc 60%,#edf2f7);background-size:300% 100%;border-radius:6px;display:block}@keyframes skeletonShimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.skeleton-avatar{border-radius:50%;flex-shrink:0;height:44px;width:44px}.skeleton-name{height:14px;width:45%}.skeleton-date{height:12px;width:25%}.skeleton-title{height:20px;margin-bottom:16px;width:70%}.skeleton-text{height:12px;margin-bottom:10px;width:100%}.skeleton-text.short{margin-bottom:0;width:60%}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}}@media (max-width:768px){.post-skeleton{border-radius:12px;padding:16px}.feed-more-skeletons{gap:12px}}.feed-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.feed-create-button{align-items:center;background:linear-gradient(135deg,#33a544,#7fbb3c);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;height:40px;justify-content:center;padding:0 18px;transition:filter .16s ease,box-shadow .16s ease;white-space:nowrap}.feed-create-button:hover{box-shadow:0 4px 12px #33a54452;filter:brightness(1.05)}.feed-create-button:active{box-shadow:0 1px 2px #33a5444d;filter:brightness(.97)}.feed-create-button:focus-visible{outline:3px solid #33a54473;outline-offset:2px}.feed-empty .feed-create-button{margin-top:20px}@media (max-width:768px){.feed-create-button{font-size:13px;height:36px;padding:0 14px}}.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}@keyframes fadeOutOverlay{0%{opacity:1}to{opacity:0}}.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{gap:8px}.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}.form-actions{margin-top:8px}.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:adminOverlayIn .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f17208c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2000}.admin-overlay.closing{animation:adminOverlayOut .2s ease forwards}@keyframes adminOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes adminOverlayOut{0%{opacity:1}to{opacity:0}}.admin-panel{animation:adminPanelIn .26s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:18px;box-shadow:0 24px 64px #0f172047;display:grid;grid-template-columns:248px minmax(0,1fr);height:min(820px,100%);overflow:hidden;width:min(1240px,100%)}.admin-panel.closing{animation:adminPanelOut .2s ease forwards}@keyframes adminPanelIn{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes adminPanelOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.99)}}.admin-sidebar{background:linear-gradient(165deg,#2f9a40,#33a544 48%,#79b93b);color:#fff;display:flex;flex-direction:column;gap:24px;min-height:0;overflow:hidden;padding:24px 16px 20px;position:relative}.admin-sidebar:before{background:radial-gradient(circle at 85% 8%,#ffffff2e 0,#0000 42%),radial-gradient(circle at 10% 92%,#ffffff1f 0,#0000 45%);content:"";inset:0;pointer-events:none;position:absolute}.admin-brand,.admin-nav,.admin-sidebar-footer{position:relative;z-index:1}.admin-brand{gap:12px;padding:4px 12px 0}.admin-brand,.admin-brand-mark{align-items:center;display:flex}.admin-brand-mark{background:#ffffff2e;border-radius:10px;flex-shrink:0;height:36px;justify-content:center;width:36px}.admin-brand-mark svg{height:20px;width:20px}.admin-brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.admin-brand-title{font-size:16px;font-weight:700;letter-spacing:-.2px}.admin-brand-subtitle{color:#ffffffc7;font-size:13px}.admin-nav{display:flex;flex:1 1;flex-direction:column;gap:20px;min-height:0;overflow-y:auto}.admin-nav-group{display:flex;flex-direction:column;gap:2px}.admin-nav-group-title{color:#ffffff9e;font-size:11px;font-weight:700;letter-spacing:.8px;padding:0 12px 6px;text-transform:uppercase}.admin-nav-item{grid-gap:12px;align-items:center;background:#0000;border:none;border-radius:10px;color:#ffffffe0;cursor:pointer;display:grid;font-family:inherit;font-size:14px;font-weight:500;gap:12px;grid-template-columns:20px minmax(0,1fr);height:40px;padding:0 12px;position:relative;text-align:left}.admin-nav-item:before{background:#ffffff29;border-radius:10px;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .16s ease}.admin-nav-item:hover:not(.active):before{opacity:1}.admin-nav-item.active{background:#fff;color:#2f9a40;font-weight:600}.admin-nav-item:focus-visible{outline:2px solid #fff;outline-offset:-2px}.admin-nav-icon,.admin-nav-label{position:relative;z-index:1}.admin-nav-icon{align-items:center;display:flex;height:20px;justify-content:center;width:20px}.admin-nav-icon svg{height:18px;width:18px}.admin-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-footer{border-top:1px solid #ffffff2e;display:flex;flex-direction:column;gap:2px;padding:14px 12px 0}.admin-sidebar-user{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-role{color:#ffffffb3;font-size:11px}.admin-main{background:#f7fafc;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.admin-topbar{grid-gap:16px;align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:grid;flex-shrink:0;gap:16px;grid-template-columns:minmax(0,1fr) auto;height:76px;padding:0 24px}.admin-topbar-text{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-topbar-title{color:#1a202c;font-size:19px;font-weight:700;letter-spacing:-.2px}.admin-topbar-hint,.admin-topbar-title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar-hint{color:#718096;font-size:13px}.admin-close{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#718096;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background-color .16s ease,color .16s ease,border-color .16s ease;width:36px}.admin-close:hover{background:#f7fafc;border-color:#cbd5e0;color:#2d3748}.admin-content{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px}.admin-content-inner{animation:adminContentIn .2s ease}@keyframes adminContentIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.admin-content::-webkit-scrollbar{width:10px}.admin-content::-webkit-scrollbar-track{background:#0000}.admin-content::-webkit-scrollbar-thumb{background:#cbd5e0;border:3px solid #f7fafc;border-radius:6px}.admin-content::-webkit-scrollbar-thumb:hover{background:#a0aec0}.admin-nav::-webkit-scrollbar{width:6px}.admin-nav::-webkit-scrollbar-track{background:#0000}.admin-nav::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:3px}@media (max-width:900px){.admin-overlay{padding:0}.admin-panel{border-radius:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100%;width:100%}.admin-sidebar{flex-direction:column;gap:14px;padding:14px 16px 10px}.admin-brand{padding:0}.admin-brand-text{align-items:baseline;flex-direction:row;gap:6px}.admin-nav{-webkit-overflow-scrolling:touch;flex:none;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;padding-bottom:6px}.admin-nav-group{flex:0 0 auto;flex-direction:row;gap:8px}.admin-nav-group-title{display:none}.admin-nav-item{flex:0 0 auto;gap:8px;grid-template-columns:18px auto;padding:0 14px;width:auto}.admin-nav::-webkit-scrollbar{height:4px;width:auto}.admin-sidebar-footer{display:none}.admin-topbar{height:64px;padding:0 16px}.admin-topbar-title{font-size:17px}.admin-topbar-hint{display:none}.admin-content{padding:16px}}@media (max-width:480px){.admin-nav-item{font-size:13px;height:36px}.admin-topbar-title{font-size:16px}}.access-info{align-items:center;animation:accessInfoFade .16s ease;background:#0f17208c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2600}@keyframes accessInfoFade{0%{opacity:0}to{opacity:1}}.access-info-card{background:var(--eu-surface);border:1px solid var(--eu-border);border-radius:14px;box-shadow:0 24px 60px #0f172047;display:flex;flex-direction:column;gap:16px;max-height:calc(100dvh - 40px);max-width:520px;overflow-x:hidden;overflow-y:auto;padding:24px;width:100%}.access-info-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.access-info-header h3{color:var(--eu-text-strong);font-size:18px;font-weight:700;margin:0}.access-info-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--eu-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:22px;height:32px;justify-content:center;line-height:1;width:32px}.access-info-close:hover{background:var(--eu-recessed);color:var(--eu-text)}.access-info-hint{color:var(--eu-text-muted);font-size:14px;line-height:1.5;margin:0}.access-info-text{background:var(--eu-recessed);border:1px solid var(--eu-border);border-radius:10px;color:var(--eu-text-strong);cursor:text;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;margin:0;min-width:0;overflow-wrap:anywhere;padding:14px 16px;-webkit-user-select:text;user-select:text;white-space:pre-wrap}.access-info-text:focus{outline:2px solid var(--eu-accent);outline-offset:1px}.access-info-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.access-info-status{font-size:13px;font-weight:600;margin-right:auto}.access-info-status.copied{color:var(--eu-accent-strong)}.access-info-status.failed{color:var(--eu-danger-text)}.admin-button-access{align-items:center;background:#0000;border:1px solid var(--eu-accent);color:var(--eu-text);display:inline-flex;gap:8px;justify-content:center;margin-right:auto}.admin-button-access:hover:not(:disabled){background:var(--eu-success-bg)}.admin-button-access:disabled{cursor:default;opacity:.6}@media (max-width:768px){.access-info{align-items:flex-end;padding:10px 10px max(10px,env(safe-area-inset-bottom))}.access-info-card{padding:18px}.access-info-status{margin-right:0;width:100%}.admin-button-access{margin-right:0}}.admin-users{display:flex;flex-direction:column;gap:20px;width:100%}.admin-toolbar,.admin-toolbar-actions{align-items:center;display:flex;justify-content:flex-end}.admin-toolbar-actions{flex-wrap:wrap;gap:12px;width:100%}.admin-search{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex:1 1 240px;gap:8px;height:40px;max-width:340px;padding:0 12px;position:relative;transition:border-color .16s ease,box-shadow .16s ease}.admin-search:focus-within{border-color:#33a544;box-shadow:0 0 0 3px #33a5441f}.admin-search-icon{color:#a0aec0;flex-shrink:0}.admin-search-input{background:#0000;border:none;color:#2d3748;flex:1 1;font-family:inherit;font-size:14px;min-width:0;outline:none}.admin-search-input::placeholder{color:#a0aec0}.admin-search-clear{align-items:center;background:#0000;border:none;border-radius:50%;color:#a0aec0;cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;padding:0;transition:background-color .16s ease,color .16s ease;width:22px}.admin-search-clear:hover{background:#edf2f7;color:#2d3748}.admin-add-button{align-items:center;background:linear-gradient(135deg,#33a544,#7fbb3c);border:none;border-radius:10px;box-shadow:0 1px 2px #33a5444d;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;gap:8px;height:40px;justify-content:center;padding:0 18px;transition:box-shadow .16s ease,filter .16s ease;white-space:nowrap}.admin-add-button:hover{box-shadow:0 4px 12px #33a54452;filter:brightness(1.05)}.admin-add-button:active{box-shadow:0 1px 2px #33a5444d;filter:brightness(.97)}.publish-mode{display:flex;flex-wrap:wrap;gap:8px}.publish-mode-option{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#4a5568;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;min-height:40px;padding:0 14px;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.publish-mode-option:hover{border-color:#cbd5e0}.publish-mode-option:has(input:checked){background:#f0fff4;border-color:#33a544;color:#22543d;font-weight:600}.publish-mode-option input{accent-color:#33a544;cursor:pointer;height:16px;margin:0;width:16px}.publish-datetime{background:#fff;border:1px solid #e2e8f0;border-radius:9px;color:#2d3748;font-family:inherit;font-size:14px;height:42px;margin-top:10px;padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.publish-datetime:focus{border-color:#33a544;box-shadow:0 0 0 3px #33a5441f;outline:none}.admin-empty,.admin-loading{background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#718096;justify-content:center;min-height:160px;padding:40px}.admin-empty,.admin-error,.admin-loading{align-items:center;display:flex;font-size:14px}.admin-error{background:#fed7d7;border:1px solid #fc8181;border-radius:10px;color:#c53030;gap:10px;padding:12px 16px}.admin-form-overlay{animation:adminFormIn .2s ease;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0f17200f;padding:24px}@keyframes adminFormIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.admin-form{display:flex;flex-direction:column;gap:18px}.form-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:16px;justify-content:space-between;padding-bottom:16px}.form-header h4{color:#1a202c;font-size:17px;font-weight:700;margin:0}.form-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#718096;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:22px;height:32px;justify-content:center;line-height:1;transition:background-color .16s ease,color .16s ease;width:32px}.form-close:hover{background:#edf2f7;color:#2d3748}.form-group{display:flex;flex-direction:column;gap:7px;min-width:0}.form-group label{color:#4a5568;font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:9px;color:#2d3748;font-family:inherit;font-size:14px;height:42px;padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease}.form-group textarea{height:auto;min-height:96px;padding:10px 12px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#33a544;box-shadow:0 0 0 3px #33a5441f;outline:none}.checkbox-label{align-items:center;color:#2d3748;cursor:pointer;display:flex;font-size:14px;gap:10px;min-height:42px}.checkbox-label input[type=checkbox]{accent-color:#33a544;cursor:pointer;flex-shrink:0;height:18px;width:18px}.form-row{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-row>.checkbox-label{align-self:end;height:42px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:4px}.admin-button{border:none;border-radius:9px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;height:42px;min-width:132px;padding:0 24px;transition:box-shadow .16s ease,filter .16s ease,background-color .16s ease}.admin-button:disabled{cursor:not-allowed;opacity:.6}.admin-button-save{background:linear-gradient(135deg,#33a544,#7fbb3c);box-shadow:0 1px 2px #33a5444d;color:#fff}.admin-button-save:hover:not(:disabled){box-shadow:0 4px 12px #33a54452;filter:brightness(1.05)}.admin-button-cancel{background:#edf2f7;color:#4a5568}.admin-button-cancel:hover:not(:disabled){background:#e2e8f0}.admin-table-container{background:#fff;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:1px solid #e2e8f0;color:#718096;font-size:11px;font-weight:700;letter-spacing:.6px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table td{border-bottom:1px solid #edf2f7;color:#2d3748;font-size:14px;padding:12px 16px;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr{transition:background-color .14s ease}.admin-table tbody tr:hover{background:#f7fafc}.admin-table td:last-child,.admin-table th:last-child{text-align:right;white-space:nowrap;width:1%}.role-badge,.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;min-width:92px;padding:4px 12px;white-space:nowrap}.role-badge.admin{background:#fed7d7;color:#c53030}.role-badge.teacher,.status-badge.active{background:#c6f6d5;color:#22543d}.status-badge.inactive{background:#fed7d7;color:#c53030}.admin-actions{display:inline-flex;gap:6px;justify-content:flex-end}.admin-action-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:background-color .16s ease,color .16s ease;width:32px}.admin-action-edit{background:#e6fffa;color:#2d8f3d}.admin-action-edit:hover{background:#b2f5ea}.admin-action-delete{background:#fed7d7;color:#c53030}.admin-action-delete:hover{background:#fc8181;color:#fff}.user-login{border-bottom:1px dashed #a0aec0;cursor:help}.user-login:focus-visible{outline:2px solid #33a544;outline-offset:2px}.hover-hint{animation:hoverHintIn .12s ease;background:#1a202c;border-radius:8px;box-shadow:0 6px 18px #0f172047;color:#f7fafc;font-size:13px;line-height:1.35;max-width:320px;padding:7px 11px;pointer-events:none;position:fixed;transform:translate(-50%,-100%) translateY(-8px);white-space:nowrap;z-index:2400}@keyframes hoverHintIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.admin-users{gap:16px}.admin-toolbar-actions{align-items:stretch;flex-direction:column;gap:10px}.admin-search{flex:none;max-width:none}.admin-add-button{width:100%}.admin-form-overlay{padding:16px}.form-row{gap:12px;grid-template-columns:minmax(0,1fr)}.form-actions{flex-direction:column-reverse}.admin-button{width:100%}.admin-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{min-width:640px}.admin-table td,.admin-table th{font-size:13px;padding:10px 12px}.admin-action-button{height:30px;width:30px}.admin-action-button svg{height:14px;width:14px}}@media (max-width:480px){.admin-table{min-width:560px}.admin-table td,.admin-table th{font-size:12px;padding:8px 10px}.role-badge,.status-badge{font-size:11px;min-width:0;padding:3px 9px}}.publish-success{align-items:center;animation:publishFadeIn .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:3000}@keyframes publishFadeIn{0%{opacity:0}to{opacity:1}}.publish-success-card{align-items:center;animation:publishCardIn .28s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:18px;box-shadow:0 24px 60px #0f172047;display:flex;flex-direction:column;gap:6px;max-width:400px;padding:32px 28px 26px;text-align:center;width:100%}@keyframes publishCardIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.publish-success-mark{height:76px;margin-bottom:6px;width:76px}.publish-success-mark svg{height:100%;width:100%}.publish-success-circle{fill:none;stroke:#33a544;stroke-width:3;stroke-dasharray:145;stroke-dashoffset:145;animation:publishCircle .45s cubic-bezier(.65,0,.45,1) forwards}.publish-success-check{fill:none;stroke:#33a544;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:publishCheck .32s cubic-bezier(.65,0,.45,1) .34s forwards}@keyframes publishCircle{to{stroke-dashoffset:0}}@keyframes publishCheck{to{stroke-dashoffset:0}}.publish-success-title{color:#1a202c;font-size:20px;font-weight:700;margin:0}.publish-success-post{color:#4a5568;font-size:14px;margin:0;overflow-wrap:anywhere}.publish-success-place{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.publish-success-chip{background:#e6fffa;border-radius:999px;color:#2d8f3d;font-size:13px;font-weight:600;padding:5px 12px}.publish-success-chip.subcategory{background:#eef2ff;color:#4c51bf}.publish-success-arrow{color:#a0aec0;font-size:14px}.publish-success-button{background:linear-gradient(135deg,#33a544,#7fbb3c);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;height:44px;margin-top:20px;transition:filter .16s ease,box-shadow .16s ease;width:100%}.publish-success-button:hover{box-shadow:0 4px 12px #33a54452;filter:brightness(1.05)}@media (max-width:480px){.publish-success-card{padding:26px 20px 20px}.publish-success-mark{height:64px;width:64px}}.admin-file-manager{display:flex;flex-direction:column;gap:20px}.file-manager-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.file-manager-header .disk-space-info{order:1}.file-manager-header .admin-toolbar-actions{flex:0 1 340px;order:2;width:auto}.disk-space-info{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex:0 1 320px;flex-direction:column;gap:6px;min-width:260px;padding:12px 16px}.disk-space-bar{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden;position:relative;width:100%}.disk-space-fill{background:linear-gradient(90deg,#33a544,#7fbb3c);border-radius:999px;height:100%;transition:width .3s ease}.disk-space-text{color:#2d3748;font-size:13px;font-weight:600}.disk-space-free{color:#718096;font-size:12px}.files-by-section{display:flex;flex-direction:column;gap:20px}.section-files{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.section-title{align-items:baseline;color:#1a202c;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 16px}.file-count{color:#718096;font-size:13px;font-weight:500}.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:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:120px;padding:16px;position:relative;transition:border-color .16s ease,background-color .16s ease}.file-item:hover{background:#fff;border-color:#33a544}.file-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.file-type-icon{display:block;filter:drop-shadow(0 1px 2px rgba(15,23,32,.18))}.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:background-color .16s ease;white-space:nowrap}.file-action-replace{background:#33a544;color:#fff}.file-action-replace:hover{background:#2d8f3d}.file-action-delete{background:#ef4444;color:#fff}.file-action-delete:hover{background:#dc2626}.file-action-rename{background:#06c;color:#fff}.file-action-rename:hover{background:#0052a3}.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:1px 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:background-color .16s ease}.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:stretch;flex-direction:column}.file-manager-header .admin-toolbar-actions,.file-manager-header .disk-space-info{flex:0 0 auto;max-width:none;min-width:0;width:100%}}.live-now{background:var(--eu-surface);border:1px solid var(--eu-border);border-radius:16px;box-shadow:0 2px 10px #0000000a;margin-bottom:20px;padding:16px 18px}.live-head{gap:12px;justify-content:space-between}.live-head,.live-title{align-items:center;display:flex;flex-wrap:wrap}.live-title{gap:10px}.live-dot{animation:live-pulse 2s infinite;background:var(--eu-accent);border-radius:50%;box-shadow:0 0 0 0 #33a54480;height:10px;width:10px}.live-before .live-dot,.live-break .live-dot{animation:none;background:#d69e2e}.live-off .live-dot,.live-over .live-dot{animation:none;background:var(--eu-text-dim)}@keyframes live-pulse{0%{box-shadow:0 0 0 0 #33a54473}70%{box-shadow:0 0 0 10px #33a54400}to{box-shadow:0 0 0 0 #33a54400}}html[data-reduce-motion=on] .live-dot{animation:none}.live-label{color:var(--eu-text-muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.live-state{color:var(--eu-text-strong);font-size:17px;font-weight:700}.live-countdown{align-items:baseline;color:var(--eu-text-2);display:flex;flex-wrap:wrap;font-size:15px;gap:8px}.live-countdown-words{color:var(--eu-text-strong);font-weight:600}.live-countdown-clock{font-feature-settings:"tnum";background:var(--eu-surface-2);border-radius:8px;color:var(--eu-accent-strong);font-variant-numeric:tabular-nums;font-weight:700;padding:2px 8px}.live-before .live-countdown-clock,.live-break .live-countdown-clock{color:#b7791f}.live-rows-title{color:var(--eu-text-muted);font-size:13px;font-weight:600;margin-top:14px}.live-table{border:1px solid var(--eu-border);border-radius:12px;margin-top:10px;overflow:hidden}.live-row{grid-gap:12px;border-top:1px solid var(--eu-border);color:var(--eu-text);display:grid;font-size:14px;gap:12px;grid-template-columns:90px 80px minmax(0,1.4fr) minmax(0,1fr);padding:8px 14px}.live-row:first-child{border-top:none}.live-row-head{background:var(--eu-recessed);color:var(--eu-text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.live-room{font-feature-settings:"tnum";color:var(--eu-text-strong);font-variant-numeric:tabular-nums;font-weight:700}.live-class{color:var(--eu-accent-strong);font-weight:600}.live-subject,.live-teacher{overflow-wrap:anywhere}.live-teacher{color:var(--eu-text-2)}@media (max-width:640px){.live-now{padding:14px}.live-row-head{display:none}.live-row{gap:2px 10px;grid-template-areas:"room class teacher" "subject subject subject";grid-template-columns:auto auto 1fr}.live-room{grid-area:room}.live-class{grid-area:class}.live-teacher{font-size:13px;grid-area:teacher;text-align:right}.live-subject{grid-area:subject}}.tt-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.tt-modes{align-self:flex-start;background:var(--eu-surface-2);border-radius:12px;display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px}.tt-mode{background:#0000;border:none;border-radius:9px;color:var(--eu-text-2);cursor:pointer;font-size:14px;font-weight:600;padding:8px 14px}.tt-mode.active{background:var(--eu-surface);box-shadow:0 1px 3px #00000014;color:var(--eu-accent-strong)}.tt-chips{display:flex;flex-wrap:wrap;gap:8px}.tt-chip{background:var(--eu-surface);border:1px solid var(--eu-border);border-radius:999px;color:var(--eu-text-2);cursor:pointer;font-size:14px;font-weight:600;padding:6px 14px}.tt-chip.active{background:var(--eu-accent);border-color:var(--eu-accent);color:#fff}.tt-select{align-self:flex-start;background:var(--eu-surface);border:1px solid var(--eu-border-strong);border-radius:10px;color:var(--eu-text-strong);font-size:15px;max-width:100%;min-width:260px;padding:10px 12px}.tt-empty{color:var(--eu-text-muted);padding:40px;text-align:center}.tt-grid-wrap{background:var(--eu-surface);border:1px solid var(--eu-border);border-radius:14px;overflow-x:auto}.tt-grid{border-collapse:collapse;min-width:760px;table-layout:fixed;width:100%}.tt-grid td,.tt-grid th{border-bottom:1px solid var(--eu-border);border-right:1px solid var(--eu-border);padding:8px 10px;text-align:left;vertical-align:top}.tt-grid tr>:last-child{border-right:none}.tt-grid tbody tr:last-child>*{border-bottom:none}.tt-grid thead th{background:var(--eu-recessed);color:var(--eu-text-muted);font-size:13px;font-weight:700}.tt-grid thead th.tt-today{color:var(--eu-accent-strong)}.tt-grid td.tt-today{background:var(--eu-recessed)}.tt-num-head{width:92px}.tt-num{background:var(--eu-recessed);white-space:nowrap}.tt-num-n{color:var(--eu-text-strong);display:block;font-size:18px;font-weight:800}.tt-num-time{font-feature-settings:"tnum";color:var(--eu-text-muted);display:block;font-size:12px;font-variant-numeric:tabular-nums}.tt-lesson+.tt-lesson{border-top:1px dashed var(--eu-border-strong);margin-top:6px;padding-top:6px}.tt-subject{color:var(--eu-text-strong);font-size:14px;font-weight:600;line-height:1.3}.tt-details{color:var(--eu-text-muted);font-size:12px;margin-top:2px}.tt-day-row.tt-now,.tt-grid td.tt-now{background:#33a5441f;box-shadow:inset 3px 0 0 var(--eu-accent)}.tt-days{display:none}@media (max-width:760px){.tt-grid-wrap{display:none}.tt-days{display:flex;flex-direction:column;gap:14px}.tt-select{min-width:0;width:100%}.tt-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.tt-chip{flex-shrink:0}}.tt-day{background:var(--eu-surface);border:1px solid var(--eu-border);border-radius:14px;overflow:hidden}.tt-day.tt-today{border-color:var(--eu-accent)}.tt-day-title{align-items:center;background:var(--eu-recessed);color:var(--eu-text-strong);display:flex;font-weight:700;gap:8px;padding:10px 14px}.tt-day-badge{background:var(--eu-accent);border-radius:999px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase}.tt-day-row{border-top:1px solid var(--eu-border);display:flex;gap:12px;padding:10px 14px}.tt-day-num{flex-shrink:0;width:52px}.tt-day-lessons{flex:1 1;min-width:0}.tt-footer{color:var(--eu-text-dim);font-size:12px;margin-top:12px}.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}}.schedule-admin-note{background:#ecc94b24;border:1px solid #ecc94b;border-radius:12px;color:var(--eu-text);font-size:14px;margin-bottom:16px;padding:12px 16px}.schedule-valid-note{color:var(--eu-text-muted);font-size:13px;margin:-4px 0 12px}.classrooms{animation:classroomsIn .3s ease;display:flex;flex-direction:column;gap:24px}@keyframes classroomsIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.classrooms-header{align-items:flex-end;border-bottom:2px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding-bottom:20px}.classrooms-heading{display:flex;flex-direction:column;gap:8px;min-width:0}.classrooms-title{color:#1a202c;font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0}.classrooms-year-edit,.classrooms-year-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.classrooms-tools{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.classrooms-year{align-items:center;background:linear-gradient(135deg,#33a544,#7fbb3c);border-radius:999px;color:#fff;display:inline-flex;font-size:13px;font-weight:600;padding:5px 14px;white-space:nowrap}.classrooms-search{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex:0 1 320px;gap:8px;height:42px;min-width:220px;padding:0 14px;position:relative;transition:border-color .16s ease,box-shadow .16s ease}.classrooms-search:focus-within{border-color:#33a544;box-shadow:0 0 0 3px #33a5441f}.classrooms-search-icon{color:#a0aec0;flex-shrink:0}.classrooms-search-input{background:#0000;border:none;color:#2d3748;flex:1 1;font-family:inherit;font-size:14px;min-width:0;outline:none}.classrooms-search-input::placeholder{color:#a0aec0}.classrooms-search-clear{align-items:center;background:#0000;border:none;border-radius:50%;color:#a0aec0;cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;padding:0;transition:background-color .16s ease,color .16s ease;width:22px}.classrooms-search-clear:hover{background:#edf2f7;color:#2d3748}.classrooms-level{display:flex;flex-direction:column;gap:12px}.classrooms-level-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.classrooms-level-title{color:#2d3748;font-size:18px;font-weight:700;margin:0}.classrooms-level-note{color:#718096;font-size:13px}.classrooms-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0f17200d;overflow-x:auto}.classrooms-table{border-collapse:collapse;min-width:640px;width:100%}.classrooms-table thead{background:#f7fafc}.classrooms-table th{border-bottom:1px solid #e2e8f0;color:#718096;font-size:11px;font-weight:700;letter-spacing:.7px;padding:13px 20px;text-align:left;text-transform:uppercase;white-space:nowrap}.classrooms-table td{border-bottom:1px solid #edf2f7;color:#2d3748;font-size:15px;padding:13px 20px;vertical-align:middle}.classrooms-table tbody tr:last-child td{border-bottom:none}.classrooms-table tbody tr{transition:background-color .14s ease}.classrooms-table tbody tr:hover{background:#f7fafc}.classrooms-table .col-grade,.classrooms-table .col-room{white-space:nowrap;width:1%}.classrooms-grade{background:linear-gradient(135deg,#33a544,#7fbb3c);border-radius:9px;color:#fff;height:32px;min-width:48px}.classrooms-grade,.classrooms-room{align-items:center;display:inline-flex;font-size:15px;font-weight:700;justify-content:center;padding:0 12px}.classrooms-room{font-feature-settings:"tnum";background:#edf2f7;border-radius:8px;color:#2d3748;font-variant-numeric:tabular-nums;height:30px;min-width:62px}.classrooms-person{display:block;line-height:1.35}.classrooms-person-tutor{color:#4a5568;font-style:italic}.classrooms-dash{color:#718096}.classrooms-empty{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;color:#718096;display:flex;flex-direction:column;gap:6px;padding:56px 24px;text-align:center}.classrooms-empty-icon{font-size:40px;line-height:1;margin-bottom:6px}.classrooms-empty h3{color:#2d3748;font-size:18px;font-weight:700;margin:0}.classrooms-empty p{font-size:14px;margin:0}@media (max-width:720px){.classrooms-title{font-size:22px}.classrooms-header{align-items:stretch}.classrooms-search{flex:1 1 100%}.classrooms-table-wrapper{background:#0000;border:none;border-radius:0;box-shadow:none;overflow-x:visible}.classrooms-table,.classrooms-table tbody{display:block;min-width:0;width:100%}.classrooms-table thead{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.classrooms-table tr{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0f17200d;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:14px 16px}.classrooms-table tbody tr:hover{background:#fff}.classrooms-table td{align-items:flex-start;border-bottom:none;display:flex;flex:1 1 100%;flex-direction:column;font-size:14px;gap:3px;min-width:0;padding:0}.classrooms-table td:before{color:#a0aec0;content:attr(data-label);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.classrooms-table .col-grade,.classrooms-table .col-room{flex:0 0 auto;width:auto}.classrooms-table .col-grade:before,.classrooms-table .col-room:before{display:none}}.classrooms-input{background:#fff;border:1px solid #cbd5e0;border-radius:8px;color:#2d3748;font-family:inherit;font-size:14px;height:36px;min-width:0;padding:0 10px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.classrooms-input:focus{border-color:#33a544;box-shadow:0 0 0 3px #33a5441f;outline:none}.classrooms-input.compact{width:90px}.classrooms-icon-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;display:inline-flex;flex-shrink:0;height:30px;justify-content:center;padding:0;transition:background-color .16s ease,color .16s ease,border-color .16s ease;width:30px}.classrooms-icon-button:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0;color:#2d3748}.classrooms-icon-button:disabled{cursor:not-allowed;opacity:.5}.classrooms-icon-button.save{background:#33a544;border-color:#33a544;color:#fff}.classrooms-icon-button.save:hover:not(:disabled){background:#2d8f3d;border-color:#2d8f3d;color:#fff}.classrooms-icon-button.danger{color:#c53030}.classrooms-icon-button.danger:hover:not(:disabled){background:#fed7d7;border-color:#fc8181;color:#c53030}.classrooms-actions{display:inline-flex;gap:6px;justify-content:flex-end}.classrooms-table .col-actions{text-align:right;white-space:nowrap;width:1%}.classrooms-row-editing td{background:#f0fff4}.classrooms-add-button{align-items:center;background:linear-gradient(135deg,#33a544,#7fbb3c);border:none;border-radius:12px;box-shadow:0 1px 2px #33a5444d;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;gap:8px;height:42px;justify-content:center;padding:0 18px;transition:box-shadow .16s ease,filter .16s ease;white-space:nowrap}.classrooms-add-button:hover{box-shadow:0 4px 12px #33a54452;filter:brightness(1.05)}.classrooms-button{background:linear-gradient(135deg,#33a544,#7fbb3c);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;height:40px;min-width:120px;padding:0 20px;transition:box-shadow .16s ease,filter .16s ease,background-color .16s ease}.classrooms-button:hover:not(:disabled){box-shadow:0 4px 12px #33a54452;filter:brightness(1.05)}.classrooms-button:disabled{cursor:not-allowed;opacity:.6}.classrooms-button.ghost{background:#edf2f7;box-shadow:none;color:#4a5568}.classrooms-button.ghost:hover:not(:disabled){background:#e2e8f0;box-shadow:none;filter:none}.classrooms-create{animation:classroomsIn .2s ease;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0f17200d;padding:20px}.classrooms-create-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.classrooms-create-header h3{color:#1a202c;font-size:17px;font-weight:700;margin:0}.classrooms-create-grid{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:110px 130px minmax(0,1fr) minmax(0,1fr)}.classrooms-field{display:flex;flex-direction:column;gap:6px;min-width:0}.classrooms-field>span{color:#4a5568;font-size:12px;font-weight:600}.classrooms-field .classrooms-input.compact{width:100%}.classrooms-create-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.classrooms-error{background:#fed7d7;border:1px solid #fc8181;border-radius:10px;color:#c53030;font-size:14px;padding:12px 16px}.classrooms-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;color:#718096;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:60px 24px;text-align:center}.classrooms-state h3{color:#2d3748;font-size:18px;font-weight:700;margin:0}.classrooms-state p{font-size:14px;margin:0}.classrooms-spinner{animation:classroomsSpin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#33a544;height:32px;width:32px}@keyframes classroomsSpin{to{transform:rotate(1turn)}}@media (max-width:900px){.classrooms-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.classrooms-tools{width:100%}.classrooms-add-button{flex:1 1 100%}.classrooms-create-grid{grid-template-columns:minmax(0,1fr)}.classrooms-create-actions .classrooms-button{flex:1 1}.classrooms-table .col-actions{text-align:left;width:100%}.classrooms-table .col-actions:before{display:none}.classrooms-actions{justify-content:flex-start}.classrooms-input.compact{width:100%}.classrooms-row-editing .col-grade,.classrooms-row-editing .col-room{flex:1 1 100%}.classrooms-icon-button{height:36px;width:36px}}.qr-modal{align-items:center;animation:qrModalFade .16s ease;background:#0f17208c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2200}@keyframes qrModalFade{0%{opacity:0}to{opacity:1}}.qr-modal-card{align-items:center;background:var(--eu-surface);border:1px solid var(--eu-border);border-radius:16px;box-shadow:0 24px 60px #0f172047;display:flex;flex-direction:column;gap:14px;max-height:calc(100dvh - 40px);max-width:380px;overflow-y:auto;padding:22px 24px 24px;width:100%}.qr-modal-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;width:100%}.qr-modal-title{color:var(--eu-text-strong);font-size:17px;font-weight:700;line-height:1.35;margin:4px 0 0;overflow-wrap:anywhere}.qr-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--eu-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:22px;height:32px;justify-content:center;line-height:1;width:32px}.qr-modal-close:hover{background:var(--eu-recessed);color:var(--eu-text)}.qr-modal-code{background:#fff;border:1px solid var(--eu-border);border-radius:12px;box-sizing:border-box;max-width:260px;padding:8px;width:100%}.qr-modal-code svg{display:block;height:auto;width:100%}.qr-modal-hint{color:var(--eu-text-muted);line-height:1.45;margin:0}.qr-modal-hint,.qr-modal-url{font-size:13px;text-align:center}.qr-modal-url{color:var(--eu-accent-strong);max-width:100%;overflow-wrap:anywhere;text-decoration:none}.qr-modal-url:hover{text-decoration:underline}.qr-modal-error{color:var(--eu-danger-text);margin:20px 0;text-align:center}.links{animation:linksIn .3s ease;display:flex;flex-direction:column;gap:24px}@keyframes linksIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.color-green{--lg-accent:#2f8f3f;--lg-soft:#e9f7ec}.color-blue{--lg-accent:#2b6cb0;--lg-soft:#e8f1fc}.color-violet{--lg-accent:#6b46c1;--lg-soft:#f1ecfd}.color-orange{--lg-accent:#c05621;--lg-soft:#fdf0e6}.color-red{--lg-accent:#c53030;--lg-soft:#fdecec}.color-teal{--lg-accent:#2c7a7b;--lg-soft:#e5f6f5}.links-header{align-items:flex-end;border-bottom:2px solid var(--eu-border);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding-bottom:20px}.links-heading{display:flex;flex-direction:column;gap:6px;min-width:0}.links-title{color:var(--eu-text-strong);font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0}.links-subtitle{color:var(--eu-text-muted);font-size:15px;margin:0}.links-tools{flex-wrap:wrap;gap:12px;justify-content:flex-end}.links-search,.links-tools{align-items:center;display:flex}.links-search{background:var(--eu-surface);border:2px solid var(--eu-border);border-radius:12px;flex:0 1 300px;gap:8px;height:42px;min-width:220px;padding:0 14px;transition:border-color .16s ease,box-shadow .16s ease}.links-search:focus-within{border-color:var(--eu-accent);box-shadow:0 0 0 3px #33a54424}.links-search-icon{color:var(--eu-text-dim);flex-shrink:0}.links-search-input{background:#0000;border:none;color:var(--eu-text);flex:1 1;font-family:inherit;font-size:14px;min-width:0;outline:none}.links-search-clear,.links-search-input::placeholder{color:var(--eu-text-dim)}.links-search-clear{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:0;width:24px}.links-search-clear:hover{background:var(--eu-recessed);color:var(--eu-text)}.links-add-button{align-items:center;background:linear-gradient(135deg,#33a544,#7fbb3c);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;gap:8px;height:42px;justify-content:center;padding:0 18px;transition:filter .16s ease,box-shadow .16s ease;white-space:nowrap}.links-add-button:hover{box-shadow:0 4px 12px #33a54452;filter:brightness(1.05)}.links-error{background:var(--eu-danger-bg);border:1px solid var(--eu-danger-border);border-radius:10px;color:var(--eu-danger-text);font-size:14px;padding:12px 16px}.links-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr))}.links-group{background:var(--eu-surface);border:1px solid var(--eu-border);border-radius:16px;border-top:4px solid var(--lg-accent);box-shadow:0 2px 8px #0f17200f;display:flex;flex-direction:column;gap:14px;min-width:0;padding:20px}.links-group-header{align-items:flex-start;display:flex;gap:14px}.links-group-badge{align-items:center;background:var(--lg-soft);border-radius:12px;color:var(--lg-accent);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.links-group-heading{flex:1 1;min-width:0;padding-top:2px}.links-group-title{color:var(--eu-text-strong);font-size:18px;font-weight:700;line-height:1.3;margin:0;overflow-wrap:anywhere}.links-group-description{color:var(--eu-text-muted);font-size:13px;line-height:1.45;margin:4px 0 0}.links-group-empty{border:1px dashed var(--eu-border-strong);border-radius:10px;color:var(--eu-text-muted);font-size:13px;margin:0;padding:14px;text-align:center}.links-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.links-row{align-items:stretch;gap:6px}.links-item,.links-row{display:flex;min-width:0}.links-item{align-items:center;background:var(--eu-recessed);border:1px solid #0000;border-radius:10px;color:inherit;flex:1 1;gap:12px;padding:11px 14px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease}.links-item:hover{background:var(--lg-soft);border-color:var(--lg-accent)}.links-item:focus-visible{outline:3px solid var(--lg-accent);outline-offset:1px}.links-item-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.links-item-title{color:var(--eu-text-strong);font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.links-item-description{color:var(--eu-text-muted);font-size:13px;line-height:1.4}.links-item-host{color:var(--lg-accent);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.links-item-arrow{color:var(--eu-text-dim);display:flex;flex-shrink:0;transition:color .16s ease}.links-item:hover .links-item-arrow{color:var(--lg-accent)}.links-qr-button{align-items:center;background:var(--eu-recessed);border:1px solid #0000;border-radius:10px;color:var(--eu-text-muted);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:0;transition:background-color .16s ease,border-color .16s ease,color .16s ease;width:44px}.links-qr-button:hover{background:var(--lg-soft);border-color:var(--lg-accent);color:var(--lg-accent)}.links-qr-button:focus-visible{outline:3px solid var(--lg-accent);outline-offset:1px}.links-controls{align-items:center;display:flex;flex-shrink:0;gap:2px}.links-row-controls{opacity:.35;transition:opacity .16s ease}.links-row:focus-within .links-row-controls,.links-row:hover .links-row-controls{opacity:1}.links-icon-button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--eu-text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:background-color .16s ease,color .16s ease;width:32px}.links-icon-button:hover:not(:disabled){background:var(--eu-recessed);color:var(--eu-text-strong)}.links-icon-button.danger:hover:not(:disabled){background:var(--eu-danger-bg);color:var(--eu-danger-text)}.links-icon-button:disabled{cursor:default;opacity:.35}.links-add-link{align-items:center;background:#0000;border:1px dashed var(--eu-border-strong);border-radius:10px;color:var(--eu-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;height:40px;justify-content:center;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.links-add-link:hover:not(:disabled){background:var(--lg-soft);border-color:var(--lg-accent);color:var(--lg-accent)}.links-form-title{color:var(--eu-text-strong);font-size:16px;font-weight:700;margin:0}.links-form{display:flex;flex-direction:column;gap:14px}.links-form-link{background:var(--eu-recessed);border-radius:12px;padding:14px}.links-list-form{list-style:none}.links-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.links-field{display:flex;flex-direction:column;gap:6px;min-width:0}.links-field>span{color:var(--eu-text-muted);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.links-input{background:var(--eu-surface);border:1px solid var(--eu-border-strong);border-radius:8px;box-sizing:border-box;color:var(--eu-text);font-family:inherit;font-size:14px;height:40px;padding:0 12px;width:100%}.links-input:focus{border-color:var(--eu-accent);box-shadow:0 0 0 3px #33a54424;outline:none}.links-picker{display:flex;flex-wrap:wrap;gap:8px}.links-picker-icon{align-items:center;background:var(--lg-soft);border:2px solid #0000;border-radius:10px;color:var(--lg-accent);cursor:pointer;display:flex;height:38px;justify-content:center;padding:0;width:38px}.links-picker-color{background:var(--lg-accent);border:3px solid var(--eu-surface);border-radius:50%;box-shadow:0 0 0 1px var(--eu-border-strong);cursor:pointer;height:30px;padding:0;width:30px}.links-picker-icon.selected{border-color:var(--lg-accent)}.links-picker-color.selected{box-shadow:0 0 0 2px var(--lg-accent)}.links-picker-color:focus-visible,.links-picker-icon:focus-visible{outline:3px solid var(--eu-accent);outline-offset:2px}.links-form-actions{display:flex;gap:10px;justify-content:flex-end}.links-button{background:#257a32;border:none;border-radius:9px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;height:38px;padding:0 18px}.links-button:hover:not(:disabled){background:#1f6a2b}.links-button.ghost{background:var(--eu-recessed);border:1px solid var(--eu-border);color:var(--eu-text)}.links-button.ghost:hover:not(:disabled){background:var(--eu-border)}.links-button:disabled{cursor:default;opacity:.6}.links-empty,.links-state{align-items:center;color:var(--eu-text-muted);display:flex;flex-direction:column;gap:10px;padding:56px 20px;text-align:center}.links-empty{border:2px dashed var(--eu-border);border-radius:16px}.links-empty-icon{align-items:center;background:var(--eu-recessed);border-radius:18px;color:var(--eu-accent-strong);display:flex;height:64px;justify-content:center;width:64px}.links-empty h3{color:var(--eu-text-strong);font-size:20px;margin:6px 0 0}.links-empty p{line-height:1.5;margin:0 0 8px;max-width:460px}@media (max-width:768px){.links-title{font-size:22px}.links-tools{justify-content:stretch;width:100%}.links-search{flex:1 1 100%;min-width:0}.links-add-button{flex:1 1 100%}.links-group{padding:16px}.links-row{flex-wrap:wrap}.links-row-controls{justify-content:flex-end;opacity:1;width:100%}.links-group-header{flex-wrap:wrap}.links-group-header .links-controls{justify-content:flex-end;width:100%}}.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;cursor:pointer;display:flex;gap:8px;padding:6px 12px;position:relative;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}.weather-popup{animation:fadeInWeather .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;cursor:default;left:50%;padding:16px;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);width:300px;z-index:1000}.weather-popup:before{content:"";height:8px;left:0;position:absolute;right:0;top:-8px}@keyframes fadeInWeather{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.weather-popup-header{align-items:center;display:flex;gap:12px}.weather-popup-icon{color:#33a544;flex-shrink:0;height:36px;width:36px}.weather-popup-icon svg{height:100%;width:100%}.weather-popup-headline{display:flex;flex-direction:column;min-width:0}.weather-popup-temp{color:#1a202c;font-size:26px;font-weight:700;line-height:1.1}.weather-popup-desc{color:#4a5568;font-size:13px;font-weight:500}.weather-popup-summary{border-bottom:1px solid #e2e8f0;color:#718096;font-size:13px;margin-top:8px;padding-bottom:12px}.weather-popup-grid{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px;padding:12px 0}.weather-popup-row{align-items:baseline;display:flex;font-size:13px;gap:12px;justify-content:space-between}.weather-popup-label{color:#718096;white-space:nowrap}.weather-popup-value{color:#2d3748;font-weight:600;text-align:right}.weather-popup-sun{border-bottom:1px solid #e2e8f0;color:#718096;display:flex;font-size:12px;gap:12px;justify-content:space-between;padding:12px 0}.weather-popup-sun-item{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.weather-popup-sun-item svg{color:#33a544;flex-shrink:0}.weather-popup-hourly{grid-gap:4px;display:grid;gap:4px;grid-auto-columns:1fr;grid-auto-flow:column;padding-top:12px}.weather-hour{align-items:center;border-radius:8px;display:flex;flex-direction:column;gap:3px;padding:6px 2px;transition:background-color .2s ease}.weather-hour:hover{background-color:#f7fafc}.weather-hour-time{color:#718096;font-size:11px}.weather-hour-icon{color:#4a5568;height:18px;width:18px}.weather-hour-icon svg{height:100%;width:100%}.weather-hour-temp{color:#2d3748;font-size:13px;font-weight:600}.weather-hour-rain{color:#06c;font-size:10px}.weather-popup-footer{color:#718096;font-size:11px;margin-top:12px;text-align:center}@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}}.post-compose{-webkit-overflow-scrolling:touch;align-items:flex-start;animation:postComposeFade .18s ease;background:#0f17208c;display:flex;inset:0;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding:40px 20px;position:fixed;z-index:2200}@keyframes postComposeFade{0%{opacity:0}to{opacity:1}}.post-compose-dialog{margin:auto;max-width:760px;width:100%}.post-compose .admin-form-overlay{box-shadow:0 24px 60px #0f172047}@media (max-width:768px){.post-compose{padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom))}}.app{background:#f7fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-bottom:1px solid #0000000d;box-shadow:0 4px 20px #00000014;overflow:visible;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:auto minmax(0,1fr) auto;margin:0 auto;max-width:1400px;padding:16px 24px}.nav-brand,.nav-container{align-items:center;position:relative;z-index:2}.nav-brand{display:flex;gap:12px;justify-self:start;min-width:0;overflow:visible}.brand-text{color:#1a202c;font-size:20px;font-weight:700;letter-spacing:-.3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-center{gap:16px;justify-content:center;justify-self:center;max-width:100%;min-width:0}.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;max-width:100%;min-width:0;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}@media (max-width:1150px){.date-widget,.weather-widget{display:none}}.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}}[data-theme=dark] .app{background:#171f29}[data-theme=dark] .navbar{box-shadow:0 4px 20px #00000042}[data-theme=dark] .brand-text{color:#f1f5f9}[data-theme=dark] .search-box{background:#1e2732;border:2px solid #2c3846}[data-theme=dark] .search-icon{color:#9aa8ba}[data-theme=dark] .search-input{color:#e2e8f0}[data-theme=dark] .search-input::placeholder{color:#818fa2}[data-theme=dark] .search-clear{color:#9aa8ba}[data-theme=dark] .search-clear:hover{background:#171f29;color:#e2e8f0}[data-theme=dark] .profile-button{background:#1e2732;border:2px solid #2c3846;color:#5cc36d}[data-theme=dark] .profile-button:hover{background:#171f29}[data-theme=dark] .mobile-menu-button{color:#e2e8f0}[data-theme=dark] .mobile-menu-button:hover{background:#171f29}[data-theme=dark] .sidebar{background:#1e2732;border-right:1px solid #2c3846}[data-theme=dark] .sidebar-loading{color:#9aa8ba}[data-theme=dark] .sidebar-header{background:#171f29;border-bottom:1px solid #2c3846}[data-theme=dark] .sidebar-title{color:#f1f5f9}[data-theme=dark] .nav-item{color:#c3cedb}[data-theme=dark] .nav-item:hover{background:#171f29;color:#5cc36d}[data-theme=dark] .section-header{color:#e2e8f0}[data-theme=dark] .admin-only-icon{color:#fc8181}[data-theme=dark] .admin-only-icon:hover:after{box-shadow:0 4px 12px #0006}[data-theme=dark] .section-header:hover{background:#171f29;color:#5cc36d}[data-theme=dark] .section-header.active{background:#123330;color:#5cc36d}[data-theme=dark] .section-arrow,[data-theme=dark] .subcategory-item{color:#9aa8ba}[data-theme=dark] .subcategory-item:before{background:#3a4757}[data-theme=dark] .subcategory-item:hover{background:#171f29;color:#5cc36d}[data-theme=dark] .subcategory-item.active{background:#123330;color:#5cc36d}[data-theme=dark] .sidebar::-webkit-scrollbar-thumb{background:#3a4757}[data-theme=dark] .sidebar::-webkit-scrollbar-thumb:hover{background:#4a5768}@media (max-width:768px){[data-theme=dark] .sidebar{box-shadow:2px 0 10px #0000004d}}[data-theme=dark] .feed-title{color:#f1f5f9}[data-theme=dark] .feed-count{background:#171f29;color:#9aa8ba}[data-theme=dark] .feed-loading{color:#9aa8ba}[data-theme=dark] .loading-spinner{border:4px solid #2c3846}[data-theme=dark] .feed-error{background:#3b2226;border:1px solid #5a2f33;color:#fc8181}[data-theme=dark] .feed-empty{color:#9aa8ba}[data-theme=dark] .feed-empty h3{color:#e2e8f0}[data-theme=dark] .feed-loading-note,[data-theme=dark] .feed-more{color:#c3cedb}[data-theme=dark] .post-skeleton{background:#1e2732;border:1px solid #2c3846;box-shadow:0 2px 8px #00000042}[data-theme=dark] .skeleton-block{background:#252f3d;background-image:linear-gradient(90deg,#252f3d,#171f29 40%,#1e2732 50%,#171f29 60%,#252f3d)}[data-theme=dark] .post-card{background:#1e2732;border:1px solid #2c3846;box-shadow:0 2px 8px #00000042}[data-theme=dark] .post-card:hover{box-shadow:0 4px 16px #00000057}[data-theme=dark] .post-card.pinned{background:linear-gradient(90deg,#16301f 0,#1e2732 4%)}[data-theme=dark] .author-avatar{border:2px solid #2c3846}[data-theme=dark] .author-name{color:#e2e8f0}[data-theme=dark] .post-date{color:#9aa8ba}[data-theme=dark] .post-section-badge{background:#123330;color:#5cc36d}[data-theme=dark] .post-subcategory-badge{background:#232a4a;color:#a5b4fc}[data-theme=dark] .post-edit-button{border:2px solid #2c3846;color:#9aa8ba}[data-theme=dark] .post-edit-button:hover{background:#171f29;color:#5cc36d}[data-theme=dark] .post-delete-button{border:2px solid #2c3846;color:#fc8181}[data-theme=dark] .post-delete-button:hover{color:#fc8181}[data-theme=dark] .post-title{color:#f1f5f9}[data-theme=dark] .post-body{color:#c3cedb}[data-theme=dark] .post-body mark{background:#6b5510}[data-theme=dark] .post-body h1,[data-theme=dark] .post-body h2,[data-theme=dark] .post-body h3,[data-theme=dark] .post-body h4{color:#e2e8f0}[data-theme=dark] .post-body blockquote{border-left:3px solid #3a4757;color:#9aa8ba}[data-theme=dark] .post-body code{background:#252f3d}[data-theme=dark] .post-body .auto-link{color:#6aa9ff}[data-theme=dark] .post-body .auto-link:hover{color:#8dbfff}[data-theme=dark] .post-body:not(.expanded).clamped:after{background:linear-gradient(180deg,#fff0,#1e2732)}[data-theme=dark] .expand-button{color:#5cc36d}[data-theme=dark] .post-attachments{border-top:1px solid #2c3846}[data-theme=dark] .post-attachments h4{color:#e2e8f0}[data-theme=dark] .attachment-link{background:#171f29;color:#6aa9ff}[data-theme=dark] .attachment-link:hover{background:#252f3d}[data-theme=dark] .post-poll{background:#171f29;border:1px solid #2c3846}[data-theme=dark] .post-poll h4{color:#e2e8f0}[data-theme=dark] .poll-option-button:hover:not(.disabled){background:#252f3d}[data-theme=dark] .poll-votes-details{border-left:2px solid #2c3846}[data-theme=dark] .poll-votes-toggle{color:#9aa8ba}[data-theme=dark] .poll-votes-toggle:hover{background:#171f29;color:#5cc36d}[data-theme=dark] .poll-votes-list{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .poll-vote-item{border-bottom:1px solid #252f3d}[data-theme=dark] .poll-vote-user{color:#e2e8f0}[data-theme=dark] .poll-vote-time{color:#9aa8ba}[data-theme=dark] .poll-option-bar{background:#2c3846}[data-theme=dark] .poll-option-text{color:#e2e8f0}[data-theme=dark] .post-edit-modal{background:#1e2732;box-shadow:0 20px 60px #000000b3}[data-theme=dark] .post-edit-datetime-input{border:2px solid #2c3846}[data-theme=dark] .post-edit-header{background:#1e2732;border-bottom:1px solid #2c3846}[data-theme=dark] .post-edit-header h3{color:#f1f5f9}[data-theme=dark] .post-edit-close{color:#9aa8ba}[data-theme=dark] .post-edit-close:hover{background:#171f29;color:#e2e8f0}[data-theme=dark] .post-edit-error{background:#3b2226;border:1px solid #5a2f33;color:#fc8181}[data-theme=dark] .post-edit-form-group label{color:#e2e8f0}[data-theme=dark] .post-edit-form-group input[type=file],[data-theme=dark] .post-edit-form-group input[type=text],[data-theme=dark] .post-edit-form-group select,[data-theme=dark] .post-edit-form-group textarea{border:2px solid #2c3846}[data-theme=dark] .post-edit-poll-form{background:#171f29;border:1px solid #2c3846}[data-theme=dark] .post-edit-remove-option{background:#3b2226;border:1px solid #5a2f33;color:#fc8181}[data-theme=dark] .post-edit-remove-option:hover{background:#4a282c}[data-theme=dark] .post-edit-add-option{color:#5cc36d}[data-theme=dark] .post-edit-add-option:hover{background:#16301f}[data-theme=dark] .post-edit-attachment-item{background:#171f29}[data-theme=dark] .post-edit-attachment-item button{background:#3b2226;border:1px solid #5a2f33;color:#fc8181}[data-theme=dark] .post-edit-attachment-item button:hover{background:#4a282c}[data-theme=dark] .post-edit-form-actions{border-top:1px solid #2c3846}[data-theme=dark] .post-edit-cancel{background:#171f29;color:#c3cedb}[data-theme=dark] .post-edit-cancel:hover:not(:disabled){background:#252f3d}[data-theme=dark] .profile-modal{background:#1e2732;box-shadow:0 20px 60px #000000b3}[data-theme=dark] .profile-close{background:#171f29;color:#9aa8ba}[data-theme=dark] .profile-close:hover{background:#252f3d;color:#e2e8f0}[data-theme=dark] .profile-avatar{box-shadow:0 4px 12px #00000080}[data-theme=dark] .info-item label{color:#9aa8ba}[data-theme=dark] .info-item p{color:#e2e8f0}[data-theme=dark] .profile-error{background:#3b2226;border:1px solid #8f4747;color:#fc8181}[data-theme=dark] .form-group label{color:#9aa8ba}[data-theme=dark] .profile-input{background:#1e2732;border:2px solid #2c3846;color:#e2e8f0}[data-theme=dark] .profile-modal .profile-button-cancel{background:#2c3846;color:#c3cedb}[data-theme=dark] .profile-modal .profile-button-cancel:hover:not(:disabled){background:#3a4757}[data-theme=dark] .classrooms-header{border-bottom:2px solid #2c3846}[data-theme=dark] .classrooms-title{color:#f1f5f9}[data-theme=dark] .classrooms-search{background:#1e2732;border:2px solid #2c3846}[data-theme=dark] .classrooms-search-icon{color:#818fa2}[data-theme=dark] .classrooms-search-input{color:#e2e8f0}[data-theme=dark] .classrooms-search-clear,[data-theme=dark] .classrooms-search-input::placeholder{color:#818fa2}[data-theme=dark] .classrooms-search-clear:hover{background:#252f3d;color:#e2e8f0}[data-theme=dark] .classrooms-level-title{color:#e2e8f0}[data-theme=dark] .classrooms-level-note{color:#9aa8ba}[data-theme=dark] .classrooms-table-wrapper{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .classrooms-table thead{background:#171f29}[data-theme=dark] .classrooms-table th{border-bottom:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .classrooms-table td{border-bottom:1px solid #252f3d;color:#e2e8f0}[data-theme=dark] .classrooms-table tbody tr:hover{background:#171f29}[data-theme=dark] .classrooms-room{background:#252f3d;color:#e2e8f0}[data-theme=dark] .classrooms-person-tutor{color:#c3cedb}[data-theme=dark] .classrooms-dash{color:#9aa8ba}[data-theme=dark] .classrooms-empty{background:#1e2732;border:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .classrooms-empty h3{color:#e2e8f0}@media (max-width:720px){[data-theme=dark] .classrooms-table tr{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .classrooms-table tbody tr:hover{background:#1e2732}[data-theme=dark] .classrooms-table td:before{color:#818fa2}}[data-theme=dark] .classrooms-input{background:#1e2732;border:1px solid #3a4757;color:#e2e8f0}[data-theme=dark] .classrooms-icon-button{background:#1e2732;border:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .classrooms-icon-button:hover:not(:disabled){background:#171f29;border-color:#3a4757;color:#e2e8f0}[data-theme=dark] .classrooms-icon-button.danger{color:#fc8181}[data-theme=dark] .classrooms-icon-button.danger:hover:not(:disabled){background:#3b2226;border-color:#8f4747;color:#fc8181}[data-theme=dark] .classrooms-row-editing td{background:#16301f}[data-theme=dark] .classrooms-button.ghost{background:#252f3d;color:#c3cedb}[data-theme=dark] .classrooms-button.ghost:hover:not(:disabled){background:#2c3846}[data-theme=dark] .classrooms-create{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .classrooms-create-header{border-bottom:1px solid #2c3846}[data-theme=dark] .classrooms-create-header h3{color:#f1f5f9}[data-theme=dark] .classrooms-field>span{color:#c3cedb}[data-theme=dark] .classrooms-error{background:#3b2226;border:1px solid #8f4747;color:#fc8181}[data-theme=dark] .classrooms-state{background:#1e2732;border:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .classrooms-state h3{color:#e2e8f0}[data-theme=dark] .classrooms-spinner{border:3px solid #2c3846}[data-theme=dark] .rte{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .rte-toolbar{background:#171f29;border-bottom:1px solid #2c3846}[data-theme=dark] .rte-group+.rte-group:before{background:#2c3846}[data-theme=dark] .rte-button{color:#c3cedb}[data-theme=dark] .rte-button:hover{background:#2c3846;color:#f1f5f9}[data-theme=dark] .rte-button:active{background:#3a4757}[data-theme=dark] .rte-content{color:#e2e8f0}[data-theme=dark] .rte-content.is-empty:before{color:#818fa2}[data-theme=dark] .rte-content a{color:#6aa9ff}[data-theme=dark] .rte-content mark{background:#6b5510}[data-theme=dark] .publish-success-card{background:#1e2732}[data-theme=dark] .publish-success-check,[data-theme=dark] .publish-success-circle{stroke:#5cc36d}[data-theme=dark] .publish-success-title{color:#f1f5f9}[data-theme=dark] .publish-success-post{color:#c3cedb}[data-theme=dark] .publish-success-chip{background:#123330;color:#5cc36d}[data-theme=dark] .publish-success-chip.subcategory{background:#232a4a;color:#a5b4fc}[data-theme=dark] .publish-success-arrow{color:#818fa2}[data-theme=dark] .file-preview-window{background:#1e2732}[data-theme=dark] .file-preview-header{background:#1e2732;border-bottom:1px solid #2c3846}[data-theme=dark] .file-preview-name{color:#f1f5f9}[data-theme=dark] .file-preview-button{background:#1e2732;border:1px solid #2c3846;color:#c3cedb}[data-theme=dark] .file-preview-button:hover{background:#171f29;border-color:#3a4757;color:#f1f5f9}[data-theme=dark] .file-preview-close{background:#1e2732;border:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .file-preview-close:hover{background:#171f29;border-color:#3a4757;color:#e2e8f0}[data-theme=dark] .file-preview-body{background:#171f29}[data-theme=dark] .file-preview-state{color:#9aa8ba}[data-theme=dark] .file-preview-state h3{color:#e2e8f0}[data-theme=dark] .file-preview-spinner{border:3px solid #2c3846}[data-theme=dark] .schedule-type-selector{background:#171f29;border:1px solid #2c3846}[data-theme=dark] .schedule-type-button{color:#c3cedb}[data-theme=dark] .schedule-type-button:hover{color:#5cc36d}[data-theme=dark] .schedule-error-message{background:#3b2226;border:1px solid #5a2f33;color:#fc8181}[data-theme=dark] .schedule-excel-table{background:#1e2732;box-shadow:0 2px 8px #00000042}[data-theme=dark] .schedule-excel-cell{background-color:#1e2732!important;border-bottom:1px solid #2c3846;border-right:1px solid #2c3846;color:#e2e8f0}[data-theme=dark] .schedule-cell-subject{color:#e2e8f0}[data-theme=dark] .schedule-teacher-badge{background:#171f29;border:1px solid #2c3846;color:#c3cedb}[data-theme=dark] .schedule-teacher-badge:hover{background:#252f3d}[data-theme=dark] .schedule-teacher-badge svg{color:#5cc36d}[data-theme=dark] .schedule-excel-table tbody tr:hover{background-color:#171f29}[data-theme=dark] .schedule-title{color:#e2e8f0}[data-theme=dark] .schedule-class-button{background:#1e2732;border:2px solid #2c3846;color:#c3cedb}[data-theme=dark] .schedule-class-button:hover{color:#5cc36d}[data-theme=dark] .schedule-table-wrapper{background:#1e2732;box-shadow:0 4px 16px #00000042}[data-theme=dark] .schedule-lesson-number{color:#5cc36d}[data-theme=dark] .schedule-table tbody tr{border-bottom:1px solid #2c3846}[data-theme=dark] .schedule-table tbody tr:hover{background-color:#171f29}[data-theme=dark] .schedule-cell{border-right:1px solid #2c3846}[data-theme=dark] .schedule-lesson{background:#171f29;border:1px solid #2c3846}[data-theme=dark] .schedule-lesson:hover{background:#252f3d}[data-theme=dark] .schedule-subject{color:#e2e8f0}[data-theme=dark] .schedule-teacher{color:#9aa8ba}[data-theme=dark] .schedule-classroom{color:#818fa2}[data-theme=dark] .schedule-empty-cell{color:#6d7b8c}[data-theme=dark] .schedule-empty,[data-theme=dark] .schedule-error,[data-theme=dark] .schedule-loading{background:#1e2732;box-shadow:0 2px 8px #00000042;color:#9aa8ba}[data-theme=dark] .schedule-error{color:#fc8181}[data-theme=dark] .schedule-empty h3,[data-theme=dark] .schedule-error h3{color:#e2e8f0}[data-theme=dark] .trash-error,[data-theme=dark] .trash-loading{background:#33201f;border:1px solid #5a2f33;color:#fc8181}[data-theme=dark] .trash-header{border-bottom:2px solid #2c3846}[data-theme=dark] .trash-title{color:#e2e8f0}[data-theme=dark] .trash-subtitle{color:#9aa8ba}[data-theme=dark] .trash-empty{color:#818fa2}[data-theme=dark] .trash-deletion-info{background:#33201f;border:1px solid #5a2f33}[data-theme=dark] .trash-deletion-info-item{color:#fcd34d}[data-theme=dark] .trash-deletion-info-item svg{color:#fbbf24}[data-theme=dark] .trash-deletion-label,[data-theme=dark] .trash-deletion-value{color:#fcd34d}[data-theme=dark] .trash-post-actions{background:#171f29;border:1px solid #2c3846}[data-theme=dark] .admin-nav-item.active,[data-theme=dark] .admin-panel{background:#1e2732}[data-theme=dark] .admin-main{background:#171f29}[data-theme=dark] .admin-topbar{background:#1e2732;border-bottom:1px solid #2c3846}[data-theme=dark] .admin-topbar-title{color:#f1f5f9}[data-theme=dark] .admin-topbar-hint{color:#9aa8ba}[data-theme=dark] .admin-close{background:#1e2732;border:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .admin-close:hover{background:#171f29;border-color:#3a4757;color:#e2e8f0}[data-theme=dark] .admin-content::-webkit-scrollbar-thumb{background:#3a4757;border:3px solid #252f3d}[data-theme=dark] .admin-content::-webkit-scrollbar-thumb:hover{background:#4a5768}[data-theme=dark] .admin-search{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .admin-search-icon{color:#818fa2}[data-theme=dark] .admin-search-input{color:#e2e8f0}[data-theme=dark] .admin-search-clear,[data-theme=dark] .admin-search-input::placeholder{color:#818fa2}[data-theme=dark] .admin-search-clear:hover{background:#252f3d;color:#e2e8f0}[data-theme=dark] .publish-mode-option{background:#1e2732;border:1px solid #2c3846;color:#c3cedb}[data-theme=dark] .publish-mode-option:hover{border-color:#3a4757}[data-theme=dark] .publish-mode-option:has(input:checked){background:#16301f;color:#86efac}[data-theme=dark] .publish-datetime{background:#1e2732;border:1px solid #2c3846;color:#e2e8f0}[data-theme=dark] .admin-empty,[data-theme=dark] .admin-loading{background:#1e2732;border:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .admin-error{background:#3b2226;border:1px solid #8f4747;color:#fc8181}[data-theme=dark] .admin-form-overlay{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .form-header{border-bottom:1px solid #2c3846}[data-theme=dark] .form-header h4{color:#f1f5f9}[data-theme=dark] .form-close{color:#9aa8ba}[data-theme=dark] .form-close:hover{background:#252f3d;color:#e2e8f0}[data-theme=dark] .form-group label{color:#c3cedb}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:#1e2732;border:1px solid #2c3846;color:#e2e8f0}[data-theme=dark] .checkbox-label{color:#e2e8f0}[data-theme=dark] .admin-button-cancel{background:#252f3d;color:#c3cedb}[data-theme=dark] .admin-button-cancel:hover:not(:disabled){background:#2c3846}[data-theme=dark] .admin-table-container{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .admin-table{background:#1e2732}[data-theme=dark] .admin-table thead{background:#171f29}[data-theme=dark] .admin-table th{border-bottom:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .admin-table td{border-bottom:1px solid #252f3d;color:#e2e8f0}[data-theme=dark] .admin-table tbody tr:hover{background:#171f29}[data-theme=dark] .role-badge.admin{background:#3b2226;color:#fc8181}[data-theme=dark] .role-badge.teacher,[data-theme=dark] .status-badge.active{background:#1d3d29;color:#86efac}[data-theme=dark] .status-badge.inactive{background:#3b2226;color:#fc8181}[data-theme=dark] .admin-action-edit{background:#123330;color:#5cc36d}[data-theme=dark] .admin-action-edit:hover{background:#14403c}[data-theme=dark] .admin-action-delete{background:#3b2226;color:#fc8181}[data-theme=dark] .admin-action-delete:hover{background:#8f4747}[data-theme=dark] .user-login{border-bottom:1px dashed #465364}[data-theme=dark] .disk-space-info{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .disk-space-bar{background:#2c3846}[data-theme=dark] .disk-space-text{color:#e2e8f0}[data-theme=dark] .disk-space-free{color:#9aa8ba}[data-theme=dark] .section-files{background:#1e2732;border:1px solid #2c3846}[data-theme=dark] .section-title{color:#f1f5f9}[data-theme=dark] .file-count{color:#9aa8ba}[data-theme=dark] .file-item{background:#171f29;border:1px solid #2c3846}[data-theme=dark] .file-item:hover{background:#1e2732}[data-theme=dark] .file-name{color:#e2e8f0}[data-theme=dark] .file-actions,[data-theme=dark] .file-rename-form{background:#1e2732;box-shadow:0 4px 12px #0006}[data-theme=dark] .file-rename-input{border:1px solid #2c3846}[data-theme=dark] .file-rename-cancel{background:#2c3846;color:#c3cedb}[data-theme=dark] .file-rename-cancel:hover,[data-theme=dark] .file-upload-button:disabled{background:#3a4757}[data-theme=dark] .file-upload-button-light{background:#1e2732;color:#5cc36d}[data-theme=dark] .file-upload-button-light:hover{background:#16301f;color:#5cc36d}[data-theme=dark] .file-replace-button:disabled{background:#3a4757}[data-theme=dark] .file-upload-item{background:#171f29;border:1px solid #2c3846}[data-theme=dark] .file-upload-item:hover{background:#252f3d;border-color:#3a4757}[data-theme=dark] .file-upload-item-name{color:#e2e8f0}[data-theme=dark] .file-upload-item-name svg{color:#5cc36d}[data-theme=dark] .file-upload-item-remove{background:#3b2226;color:#f87171}[data-theme=dark] .file-upload-item-remove:hover{background:#3b2226;color:#fca5a5}[data-theme=dark] .file-upload-info{background:#16301f;border:1px solid #2f6b45;color:#86efac}[data-theme=dark] .file-upload-hint{color:#9aa8ba}[data-theme=dark] .date-day{color:#e2e8f0}[data-theme=dark] .date-month{color:#c3cedb}[data-theme=dark] .date-weekday.weekday{color:#6aa9ff}[data-theme=dark] .date-weekday.weekend{color:#fc8181}[data-theme=dark] .calendar-popup{background:#1e2732;box-shadow:0 8px 24px #0006}[data-theme=dark] .calendar-header{border-bottom:1px solid #2c3846}[data-theme=dark] .calendar-month-year{color:#e2e8f0}[data-theme=dark] .calendar-weekday{color:#9aa8ba}[data-theme=dark] .calendar-day{color:#e2e8f0}[data-theme=dark] .calendar-day:not(.empty):hover{background-color:#171f29}[data-theme=dark] .calendar-day.weekend:not(.today){color:#fc8181}[data-theme=dark] .weather-spinner{border:2px solid #2c3846}[data-theme=dark] .weather-temp{color:#e2e8f0}[data-theme=dark] .weather-popup{background:#1e2732;box-shadow:0 8px 24px #0006}[data-theme=dark] .weather-popup-icon{color:#5cc36d}[data-theme=dark] .weather-popup-temp{color:#f1f5f9}[data-theme=dark] .weather-popup-desc{color:#c3cedb}[data-theme=dark] .weather-popup-summary{border-bottom:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .weather-popup-grid{border-bottom:1px solid #2c3846}[data-theme=dark] .weather-popup-label{color:#9aa8ba}[data-theme=dark] .weather-popup-value{color:#e2e8f0}[data-theme=dark] .weather-popup-sun{border-bottom:1px solid #2c3846;color:#9aa8ba}[data-theme=dark] .weather-popup-sun-item svg{color:#5cc36d}[data-theme=dark] .weather-hour:hover{background-color:#171f29}[data-theme=dark] .weather-hour-time{color:#9aa8ba}[data-theme=dark] .weather-hour-icon{color:#c3cedb}[data-theme=dark] .weather-hour-temp{color:#e2e8f0}[data-theme=dark] .weather-hour-rain{color:#6aa9ff}[data-theme=dark] .weather-popup-footer{color:#9aa8ba}[data-theme=dark] .session-expired-modal{background:#1e2732;box-shadow:0 20px 60px #000000b3}[data-theme=dark] .session-expired-icon{background:linear-gradient(135deg,#3a3320,#4a3c14)}[data-theme=dark] .session-expired-modal h2{color:#f1f5f9}[data-theme=dark] .session-expired-modal p{color:#c3cedb}[data-theme=dark] .login-container{box-shadow:0 20px 60px #000000b3}[data-theme=dark] .login-title{color:#f1f5f9}[data-theme=dark] .login-subtitle{color:#9aa8ba}[data-theme=dark] .form-label{color:#e2e8f0}[data-theme=dark] .form-input{background:#171f29;border:2px solid #2c3846}[data-theme=dark] .form-input:focus{background:#1e2732}[data-theme=dark] .form-input::placeholder{color:#818fa2}[data-theme=dark] .form-error{background:#3b2226;border:1px solid #8f4747;color:#fc8181}:root{--eu-surface:#fff;--eu-surface-2:#edf2f7;--eu-recessed:#f7fafc;--eu-border:#e2e8f0;--eu-border-strong:#cbd5e0;--eu-text-strong:#1a202c;--eu-text:#2d3748;--eu-text-2:#4a5568;--eu-text-muted:#718096;--eu-text-dim:#a0aec0;--eu-accent:#33a544;--eu-accent-strong:#2a8c39;--eu-danger-bg:#fee;--eu-danger-border:#fcc;--eu-danger-text:#c33;--eu-success-bg:#efe;--eu-success-border:#cfc;--eu-success-text:#3c3}html[data-theme=dark]{--eu-surface:#1e2732;--eu-surface-2:#252f3d;--eu-recessed:#171f29;--eu-border:#2c3846;--eu-border-strong:#3a4757;--eu-text-strong:#f1f5f9;--eu-text:#e2e8f0;--eu-text-2:#c3cedb;--eu-text-muted:#9aa8ba;--eu-text-dim:#818fa2;--eu-accent:#5cc36d;--eu-accent-strong:#6ed07f;--eu-danger-bg:#3b2226;--eu-danger-border:#5a2f33;--eu-danger-text:#fc8181;--eu-success-bg:#16301f;--eu-success-border:#27523a;--eu-success-text:#86efac;color-scheme:dark}html[data-theme=dark] body{background:#131920;color:#e2e8f0}[data-theme=dark] ::-webkit-scrollbar-track,html[data-theme=dark]::-webkit-scrollbar-track{background:#171f29}[data-theme=dark] .navbar{background:#171f29f2;border-bottom:1px solid #ffffff0f}[data-theme=dark] .login-page{background:linear-gradient(135deg,#12241a,#1b2c16)}[data-theme=dark] .login-container{background:#1e2732f2;border:1px solid #ffffff14}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),[data-theme=dark] select,[data-theme=dark] textarea{background-color:#171f29;border-color:#2c3846;color:#e2e8f0}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#7d8a9c}[data-theme=dark] option{background-color:#1e2732;color:#e2e8f0}[data-theme=dark] .search-box select{background-color:initial;border-left-color:#2c3846!important}[data-theme=dark] .profile-name .profile-input{background:#ffffff2e;border:2px solid #ffffff4d;color:#fff}[data-theme=dark] .profile-name .profile-input::placeholder{color:#ffffffb3}[data-theme=dark] .switch-slider:after{background:#e6edf3}[data-theme=dark] .session-expired-icon{background:linear-gradient(135deg,#4a3c14,#6b551c)}[data-theme=dark] .schedule-excel-cell,[data-theme=dark] .schedule-excel-cell *{color:#e2e8f0!important}[data-theme=dark] .post-body:not(.expanded).clamped:after{background:linear-gradient(180deg,#1e273200,#1e2732)}[data-theme=dark] .file-preview-button.primary{background:linear-gradient(135deg,#33a544,#7fbb3c);border-color:#0000;color:#fff}[data-theme=dark] .button-spinner{border-top-color:#fff}.settings-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}.settings-button svg{display:block;height:20px;width:20px}.settings-button:hover{background:#f7fafc;border-color:#33a544;transform:translateY(-1px)}[data-theme=dark] .settings-button{background:#1e2732;border-color:#2c3846;color:#5cc36d}[data-theme=dark] .settings-button:hover{background:#171f29;border-color:#5cc36d}.settings-overlay{align-items:center;animation:settingsFadeIn .25s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.settings-overlay.closing{animation:settingsFadeOut .25s ease forwards}@keyframes settingsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes settingsFadeOut{0%{opacity:1}to{opacity:0}}.settings-modal{animation:settingsSlideUp .35s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:460px;overflow-y:auto;position:relative;width:100%}.settings-overlay.closing .settings-modal{animation:settingsSlideDown .25s ease forwards}@keyframes settingsSlideUp{0%{opacity:0;transform:translateY(40px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes settingsSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(24px) scale(.96)}}[data-theme=dark] .settings-modal{background:#1e2732;box-shadow:0 20px 60px #000000b3}.settings-header{align-items:center;background:linear-gradient(135deg,#33a544,#a6ce39);border-radius:20px 20px 0 0;color:#fff;display:flex;gap:12px;padding:28px 32px 24px}.settings-header h2{font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.settings-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:36px;z-index:10}.settings-close:hover{background:#ffffff59}.settings-body{padding:24px 32px 32px}.settings-option{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:20px;justify-content:space-between;padding:18px 0}.settings-option:last-child{border-bottom:none}[data-theme=dark] .settings-option{border-bottom-color:#2c3846}.settings-option-text{flex:1 1;min-width:0}.settings-option-title{color:#2d3748;display:block;font-size:15px;font-weight:600;margin-bottom:4px}.settings-option-desc{color:#718096;display:block;font-size:13px;line-height:1.45}[data-theme=dark] .settings-option-title{color:#e2e8f0}[data-theme=dark] .settings-option-desc{color:#9aa8ba}.settings-switch{background:#cbd5e0;border:none;border-radius:15px;cursor:pointer;flex-shrink:0;height:30px;padding:0;position:relative;transition:background .25s ease;width:52px}.settings-switch[aria-checked=true]{background:linear-gradient(135deg,#33a544,#a6ce39)}.settings-switch:after{background:#fff;border-radius:50%;box-shadow:0 2px 6px #00000040;content:"";height:24px;left:3px;position:absolute;top:3px;transition:transform .25s cubic-bezier(.34,1.4,.64,1);width:24px}.settings-switch[aria-checked=true]:after{transform:translateX(22px)}.settings-switch:focus-visible{outline:2px solid #33a544;outline-offset:3px}[data-theme=dark] .settings-switch{background:#3a4757}[data-theme=dark] .settings-switch:after{background:#e6edf3}.settings-hint{color:#a0aec0;font-size:12px;line-height:1.5;margin:18px 0 0;text-align:center}[data-theme=dark] .settings-hint{color:#7d8a9c}@media (max-width:480px){.settings-header{padding:24px 20px 20px}.settings-body{padding:20px 20px 24px}.settings-option{gap:12px}}html[data-reduce-motion=on]{scroll-behavior:auto}html[data-reduce-motion=on] *,html[data-reduce-motion=on] :after,html[data-reduce-motion=on] :before{animation-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:1ms!important}html[data-reduce-motion=on] *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html[data-reduce-motion=on] :hover{transform:none!important}html[data-reduce-motion=on] .admin-tab:before,html[data-reduce-motion=on] .floating-shape,html[data-reduce-motion=on] .gear,html[data-reduce-motion=on] .gradient-shimmer,html[data-reduce-motion=on] .login-background:after,html[data-reduce-motion=on] .login-background:before,html[data-reduce-motion=on] .login-container:before,html[data-reduce-motion=on] .sparkle,html[data-reduce-motion=on] .welcome-banner:after,html[data-reduce-motion=on] .welcome-banner:before{display:none!important}html[data-reduce-motion=on] .button-spinner,html[data-reduce-motion=on] .loading-spinner,html[data-reduce-motion=on] .spinner,html[data-reduce-motion=on] .weather-spinner{animation-duration:.8s!important;animation-iteration-count:infinite!important}html[data-reduce-motion=on] .navbar,html[data-reduce-motion=on] .post-card,html[data-reduce-motion=on] .schedule-table-wrapper,html[data-reduce-motion=on] .section-files{box-shadow:0 1px 3px #0000001f!important}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) *,html:not([data-reduce-motion=off]) :after,html:not([data-reduce-motion=off]) :before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}html:not([data-reduce-motion=off]) .button-spinner,html:not([data-reduce-motion=off]) .loading-spinner,html:not([data-reduce-motion=off]) .weather-spinner{animation-duration:.8s!important;animation-iteration-count:infinite!important}}[data-theme=dark] .skeleton-block{background:#262f3b;background-image:linear-gradient(90deg,#262f3b,#303b49 40%,#3a4657 50%,#303b49 60%,#262f3b);background-size:300% 100%}html[data-reduce-motion=on] .skeleton-block{animation:none!important;background-image:none!important}@media (prefers-reduced-motion:reduce){html:not([data-reduce-motion=off]) .skeleton-block{animation:none!important;background-image:none!important}}[data-theme=dark] .color-green{--lg-accent:#6ed07f;--lg-soft:#6ed07f24}[data-theme=dark] .color-blue{--lg-accent:#7fb3f5;--lg-soft:#7fb3f524}[data-theme=dark] .color-violet{--lg-accent:#b39cf5;--lg-soft:#b39cf526}[data-theme=dark] .color-orange{--lg-accent:#f6ad6b;--lg-soft:#f6ad6b24}[data-theme=dark] .color-red{--lg-accent:#fc8f8f;--lg-soft:#fc8f8f24}[data-theme=dark] .color-teal{--lg-accent:#6fd6cf;--lg-soft:#6fd6cf24}[data-theme=dark] .hover-hint{background:#e2e8f0;box-shadow:0 6px 18px #00000073;color:#1a202c}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}[role=button],a,button,input,label,select,textarea{-webkit-tap-highlight-color:transparent}.nav-item,.section-header,.subcategory-item,[role=button],button{touch-action:manipulation}.login-page{height:100vh;height:100dvh}.app{min-height:100vh;min-height:100dvh}@media (max-width:768px){.sidebar{animation:none;height:100vh;height:100dvh}}.navbar{padding-top:env(safe-area-inset-top)}.nav-container{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.main-content{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.login-page,.sidebar{padding-bottom:env(safe-area-inset-bottom)}.login-page{padding-top:env(safe-area-inset-top)}@media (max-width:768px){.nav-container{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.main-content{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.sidebar{padding-left:env(safe-area-inset-left);padding-top:env(safe-area-inset-top)}}@media (max-width:900px){.admin-panel{padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}}@media (max-width:768px){.post-edit-modal{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width:900px){
  /* !important здесь осознанно: это поведенческая правка, а не оформление.
     Простой селектор по типу элемента проигрывает частным правилам вроде
     `.form-group input`, и часть полей осталась бы с 14px. Чекбоксы,
     радиокнопки и ползунки автозум не вызывают — их не трогаем. */input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}.classrooms-input{height:42px}.admin-search,.classrooms-search{height:46px}}.admin-nav,.admin-table-container,.classrooms-table-wrapper,.schedule-classes,.schedule-excel-wrapper,.schedule-table-wrapper{-webkit-overflow-scrolling:touch}.admin-content,.post-edit-modal,.profile-modal,.settings-modal{overscroll-behavior:contain}@media (max-width:768px){.mobile-menu-button{align-items:center;display:flex;justify-content:center;min-height:44px;min-width:44px}.profile-button,.settings-button{height:44px;width:44px}.admin-panel-button,.logout-button{min-height:44px}.admin-search-clear,.classrooms-search-clear,.search-clear{min-height:32px;min-width:32px}.nav-item,.section-header,.subcategory-item{min-height:44px}.post-delete-button,.post-edit-button{flex-shrink:0;height:40px;width:40px}.poll-option-button{min-height:44px}.poll-votes-toggle{min-height:36px}.attachment-link{min-height:44px}.settings-switch{height:34px;width:56px}.settings-switch:after{height:28px;width:28px}.admin-action-button{height:36px;width:36px}}@media (display-mode:standalone){body{overscroll-behavior-y:none}.navbar,.sidebar{-webkit-user-select:none;user-select:none}.navbar input,.sidebar input{-webkit-user-select:text;user-select:text}}
/*# sourceMappingURL=main.b6948b15.css.map*/