:root{--text: #3c3c43;--text-secondary: rgba(60, 60, 67, .6);--text-h: #1c1c1e;--bg: #ffffff;--bg-elevated: rgba(255, 255, 255, .72);--bg-grouped: #ffffff;--border: rgba(60, 60, 67, .12);--border-strong: rgba(60, 60, 67, .29);--accent: #007aff;--accent-bg: rgba(0, 122, 255, .12);--accent-border: rgba(0, 122, 255, .4);--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .5);--shadow-soft: 0 2px 10px rgba(0, 0, 0, .04);--shadow-card: 0 4px 24px rgba(0, 0, 0, .06);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .08);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--ease-out: cubic-bezier(.25, .1, .25, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--blur-amount: 20px;--blur-saturate: 180%;--sans: "Heebo", -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;--heading: "Heebo", -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;font:17px/1.47 var(--sans);letter-spacing:-.02em;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:1024px){:root{font-size:16px}}html[data-theme=night]{color-scheme:dark;--text: #e2e8f0;--text-secondary: rgba(226, 232, 240, .65);--text-h: #f8fafc;--bg: #0b0f14;--bg-elevated: #111827;--bg-grouped: #111827;--border: rgba(71, 85, 105, .5);--border-strong: rgba(100, 116, 139, .6);--accent: #38bdf8;--accent-bg: rgba(56, 189, 248, .18);--accent-border: rgba(56, 189, 248, .45);--glass-bg: #1e293b;--glass-border: rgba(255, 255, 255, .08);--shadow-soft: 0 2px 12px rgba(0, 0, 0, .35);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--text: #ebebf5;--text-secondary: rgba(235, 235, 245, .6);--text-h: #ffffff;--bg: #000000;--bg-elevated: #2c2c2e;--bg-grouped: #1c1c1e;--border: rgba(84, 84, 88, .65);--accent: #0a84ff;--glass-bg: #2c2c2e;--shadow-soft: 0 2px 10px rgba(0, 0, 0, .3);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4)}}html,body{height:100%;background:var(--bg)}body{margin:0;background:var(--bg);overflow-x:hidden;overscroll-behavior-y:none}#root{width:100%;max-width:100vw;margin:0;min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box;direction:rtl;background:var(--bg)}h1,h2{font-family:var(--heading);font-weight:600;color:var(--text-h);letter-spacing:-.03em}h1{font-size:34px;line-height:1.2;margin:0}h2{font-size:22px;line-height:1.3;margin:0}p{margin:0}*{-webkit-tap-highlight-color:transparent}.schedule-app{min-height:100%;padding:0 16px env(safe-area-inset-bottom,24px);text-align:right}.app-header{position:sticky;top:0;z-index:100;text-align:center;padding:16px 0 20px;margin:0 -16px;padding-inline:16px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border-bottom:.5px solid var(--border);transition:background .4s var(--ease-out)}.header-inner{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;transition:gap .35s var(--ease-out)}.header-title-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;margin-inline:auto;text-align:center}.app-header.scrolled .header-title-wrap{flex-direction:row;align-items:center;gap:10px}.header-version-wrap{position:absolute;right:0;left:auto;display:flex;align-items:center}.header-version{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em;opacity:.9}.header-spacer{display:none}.header-auth{display:flex;align-items:center;gap:8px;flex-shrink:0;position:absolute;left:0;right:auto}.btn-login-circle{min-width:92px;height:40px;padding:0 18px;border-radius:var(--radius-full);border:2px solid #f5c542;background:#f5c5421f;-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));color:#000;font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .2s var(--ease-spring),opacity .2s var(--ease-out)}.btn-login-circle:hover{opacity:.96;transform:scale(1.02)}.btn-login-circle:active{transform:scale(.98)}html[data-theme=night] .btn-login-circle{color:#fff}.btn-avatar-circle{width:40px;height:40px;border-radius:50%;border:none;padding:0;overflow:hidden;background:var(--glass-bg);cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .2s var(--ease-spring)}.btn-avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:18px;font-weight:600;color:var(--accent);background:#78788033}.btn-logout{padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--text-h);font-size:13px;font-weight:600;font-family:var(--sans);cursor:pointer;transition:opacity .2s,background .2s}.btn-logout:hover{opacity:.9;background:#7878801f}.auth-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.auth-modal{position:relative;background:var(--glass-bg);border-radius:var(--radius-lg);padding:24px;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-elevated)}.auth-modal-close{position:absolute;top:12px;left:12px;width:32px;height:32px;border:none;border-radius:50%;background:#78788033;color:var(--text-h);font-size:18px;cursor:pointer;line-height:1;transition:background .2s}.auth-modal-close:hover{background:#78788059}.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:8px}.auth-form-title{font-size:20px;font-weight:700;margin:0 0 8px;color:var(--text-h);text-align:center}.auth-form-error{margin:0;padding:10px 12px;border-radius:var(--radius-md);background:#ff3b3026;color:#ff3b30;font-size:14px;text-align:right}.auth-form-label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--text-secondary)}.auth-form-label span{text-align:right}.auth-form-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--input-bg, rgba(120, 120, 128, .08));color:var(--text-h);font-size:16px;font-family:var(--sans);box-sizing:border-box}.auth-form-input:focus{outline:none;border-color:var(--accent)}.auth-form-submit,.auth-form-google{padding:12px 20px;border-radius:var(--radius-md);font-size:16px;font-weight:600;font-family:var(--sans);cursor:pointer;transition:opacity .2s,background .2s}.auth-form-submit{border:none;background:var(--accent);color:#fff}.auth-form-submit:hover:not(:disabled){opacity:.92}.auth-form-submit:disabled{opacity:.7;cursor:not-allowed}.auth-form-google{border:1px solid var(--border);background:var(--glass-bg);color:var(--text-h);display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-form-google:hover:not(:disabled){background:#78788014}.auth-form-google:disabled{opacity:.7;cursor:not-allowed}.auth-form-google-icon{width:26px;height:26px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center}.auth-form-google-icon img{width:70%;height:70%;object-fit:contain;border-radius:50%}.auth-form-toggle{margin-top:0;font-size:14px}.header-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0;transition:transform .35s var(--ease-out);will-change:transform}.app-header.scrolled .header-icon{transform:scale(.75)}@media(max-width:768px){.app-header.scrolled .header-icon{transform:scale(.75)}}.app-header h1{font-size:28px;font-weight:700;letter-spacing:-.04em;margin:0}.filter-and-theme-row{display:flex;align-items:center;justify-content:flex-start;padding:16px 0;gap:12px}.top-actions-right{display:inline-flex;align-items:center;gap:8px}.top-actions-right>*{flex:0 0 auto}.top-actions-spacer{flex:1}@media(max-width:768px){.filter-and-theme-row{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.top-actions-right{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.top-actions-right::-webkit-scrollbar{display:none}}.btn-create-event{padding:8px 16px;border-radius:var(--radius-full);border:2px solid #f5c542;background:#f5c5421f;color:#000;font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;flex-shrink:0;transition:background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out);white-space:nowrap;animation:gold-flicker 2.2s ease-in-out infinite}.btn-create-event:hover{background:#78788026}.btn-create-event:active{animation:none;box-shadow:0 0 #f5c54200}html[data-theme=night] .btn-create-event{color:#fff}@keyframes gold-flicker{0%{box-shadow:0 0 #f5c54200;border-color:#f5c542e6}45%{box-shadow:0 0 #f5c54200;border-color:#f5c542e6}55%{box-shadow:0 0 0 6px #f5c5422e;border-color:#f5c542}70%{box-shadow:0 0 0 3px #f5c5421a;border-color:#f5c542f2}to{box-shadow:0 0 #f5c54200;border-color:#f5c542e6}}.create-event-modal{max-width:520px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.create-event-modal .settings-modal-header{flex-shrink:0}.create-event-modal .create-event-form-scroll{flex:1;min-height:0;overflow-y:auto}.create-visibility{display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;align-items:center;flex-wrap:wrap}.create-visibility-tabs{display:flex;gap:8px;flex-shrink:0}.create-visibility .day-tab{padding:8px 14px}.create-visibility-note{color:#d21f3c;font-size:13px;font-weight:700;line-height:1.35;text-align:start;flex:1;min-width:min(100%,220px)}.create-private-note{color:#d21f3c;font-size:13px;font-weight:700}.create-event-form .admin-add-session-btn{margin-top:10px}.btn-filter-toggle{padding:10px 20px;border-radius:var(--radius-full);border:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));color:var(--accent);font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .25s var(--ease-spring),opacity .25s var(--ease-out),background .3s var(--ease-out)}.btn-filter-toggle:hover{opacity:.9;transform:scale(1.02)}.btn-filter-toggle:active{transform:scale(.98)}.btn-settings-toggle{padding:10px 20px;border-radius:var(--radius-full);border:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));color:var(--accent);font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .25s var(--ease-spring),opacity .25s var(--ease-out),background .3s var(--ease-out)}.btn-settings-toggle:hover{opacity:.9;transform:scale(1.02)}.btn-settings-toggle:active{transform:scale(.98)}.btn-settings-icon{width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center}.btn-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 14px;border-radius:var(--radius-full);border:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));color:var(--text-h);font-size:13.5px;font-weight:600;font-family:var(--sans);cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .25s var(--ease-spring),opacity .25s var(--ease-out),background .3s var(--ease-out)}.btn-theme-toggle:hover{opacity:.92;transform:scale(1.02)}.btn-theme-toggle:active{transform:scale(.98)}.btn-theme-icon{font-size:1.1em;line-height:1}.btn-theme-label{letter-spacing:.02em;font-weight:700}.settings-modal-backdrop{position:fixed;inset:0;z-index:1200;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow-y:auto;scrollbar-gutter:stable}@media(min-width:700px){.settings-modal-backdrop{overflow-y:scroll}}.settings-modal-backdrop.create-event-backdrop{align-items:flex-start;padding-top:16px}.settings-modal{width:100%;max-width:420px;background:var(--glass-bg);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:18px 18px 16px;box-shadow:var(--shadow-elevated);direction:rtl}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.settings-modal-title{margin:0;font-size:18px;font-weight:700;color:var(--text-h)}.settings-modal-close{width:34px;height:34px;border-radius:50%;border:none;background:#7878802e;color:var(--text-h);cursor:pointer;font-size:18px;line-height:1}.settings-list{display:flex;flex-direction:column;gap:12px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:var(--radius-md);border:.5px solid var(--border);background:#78788014}.settings-row-program-track{position:relative;flex-wrap:wrap}.settings-row-program-track.is-open{z-index:3}.settings-program-track-controls{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:0}.settings-program-track-menu.settings-select-menu{left:auto;right:auto;inset-inline-start:0;width:min(92vw,320px);max-width:100%}.settings-semester-option-program{max-width:min(52vw,168px)}.settings-row.settings-row-stack{flex-direction:column;align-items:stretch;gap:14px}.settings-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.settings-select-field{position:relative;width:100%;z-index:0}.settings-select-field.is-open{z-index:2}.settings-select-field-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-align:right;padding-inline-end:2px}.settings-select-trigger{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;min-height:46px;padding:10px 14px;border-radius:var(--radius-full);border:1px solid rgba(56,189,248,.45);background:#ffffff8c;color:var(--text-h);font-family:var(--sans);font-size:15px;font-weight:600;cursor:pointer;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out);-webkit-tap-highlight-color:transparent}html[data-theme=night] .settings-select-trigger{background:#1e1e23a6;border-color:#38bdf866}.settings-select-trigger:hover{border-color:#38bdf8a6;box-shadow:0 2px 12px #38bdf81f}.settings-select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px #38bdf859}.settings-select-value{flex:1;min-width:0;text-align:right;line-height:1.3}.settings-select-chevron{flex-shrink:0;color:var(--text-secondary);opacity:.85}.settings-select-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:10;border-radius:var(--radius-md);border:.5px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 12px 40px #0000002e;overflow:hidden;animation:settingsSelectMenuIn .2s var(--ease-out)}@keyframes settingsSelectMenuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.settings-select-menu-scroll{max-height:min(52vh,320px);overflow-y:auto;-webkit-overflow-scrolling:touch}.settings-select-option{position:relative;display:block;width:100%;box-sizing:border-box;padding:12px 40px 12px 14px;border:none;border-bottom:.5px solid rgba(120,120,128,.22);background:transparent;color:var(--text-h);font-family:var(--sans);font-size:15px;font-weight:600;text-align:right;cursor:pointer;transition:background .15s var(--ease-out);-webkit-tap-highlight-color:transparent}.settings-select-option:last-child{border-bottom:none}.settings-select-option:hover,.settings-select-option:focus-visible{background:#7878801a;outline:none}.settings-select-option-text{display:block;line-height:1.35}.settings-select-check{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);color:var(--accent);pointer-events:none}.settings-select-check-spacer{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none}.settings-label{font-size:14px;font-weight:600;color:var(--text-h)}.settings-switch{position:relative;width:44px;height:26px;flex-shrink:0}.settings-switch input{position:absolute;inset:0;opacity:0}.settings-slider{position:absolute;inset:0;border-radius:999px;background:#78788059;transition:background .2s var(--ease-out)}.settings-slider:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 10px #0000002e;transition:transform .22s var(--ease-spring)}.settings-switch input:checked+.settings-slider{background:#38bdf88c}.settings-switch input:checked+.settings-slider:after{transform:translate(18px)}.settings-semester-options{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.settings-semester-option{appearance:none;-webkit-appearance:none;border:.5px solid var(--border);background:#7878801a;color:var(--text-secondary);border-radius:var(--radius-full);padding:8px 14px;font-size:14px;font-weight:700;font-family:var(--sans);cursor:pointer;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s var(--ease-out);line-height:1}.settings-semester-option:hover{background:#7878802e;color:var(--text-h)}.settings-semester-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.settings-semester-option:active{transform:scale(.96)}.settings-filter-mode-options{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.settings-filter-mode-option{appearance:none;-webkit-appearance:none;border:.5px solid var(--border);background:#7878801a;color:var(--text-secondary);border-radius:var(--radius-full);padding:8px 12px;font-size:13px;font-weight:800;font-family:var(--sans);cursor:pointer;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s var(--ease-out);line-height:1.1;max-width:100%}.settings-filter-mode-option:hover{background:#7878802e;color:var(--text-h)}.settings-filter-mode-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.settings-filter-mode-option:active{transform:scale(.96)}.search-bar{padding:20px;margin:0 -16px 16px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border-radius:var(--radius-lg);border:.5px solid var(--border);margin-inline:16px;box-shadow:var(--shadow-soft);animation:slideDown .35s var(--ease-out);max-width:100%;box-sizing:border-box;overflow-x:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-title{font-size:17px;font-weight:600;margin:0 0 16px;color:var(--text-h)}.search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:16px;max-width:100%}.search-field-subject{grid-column:1 / -1}.search-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary);min-width:0}.search-field span{font-weight:500;color:var(--text-h)}.search-field input,.search-field select{padding:12px 14px;border:.5px solid var(--border);border-radius:var(--radius-md);background:#ffffff80;color:var(--text-h);font-size:16px;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);width:100%;min-width:0;max-width:100%;box-sizing:border-box}.search-field select{text-overflow:ellipsis}.time-inputs{display:flex;flex-direction:row;align-items:center;gap:6px;direction:ltr;justify-content:flex-end}.time-inputs input{width:52px;min-width:52px;padding-left:8px;padding-right:8px;box-sizing:border-box;text-align:center;font-variant-numeric:tabular-nums}.time-inputs span{font-size:16px;font-weight:600}html[data-theme=night] .search-field input,html[data-theme=night] .search-field select{background:#334155;color:#e2e8f0;border-color:#47556980}html[data-theme=night] .search-field select option{background:#1e293b;color:#e2e8f0}html[data-theme=night] .time-inputs span{color:#e2e8f0}.search-field input:focus,.search-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.search-actions{display:flex;flex-direction:row-reverse;gap:10px;flex-wrap:wrap}.btn{padding:10px 22px;border-radius:var(--radius-full);font-size:15px;font-weight:600;cursor:pointer;border:none;transition:transform .2s var(--ease-spring),opacity .2s var(--ease-out),box-shadow .25s var(--ease-out)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.92;box-shadow:0 4px 16px var(--accent-bg)}.btn-secondary{background:#78788029;color:var(--accent)}.btn-secondary:hover{background:#7878803d}.day-selector{display:flex;gap:6px;flex-wrap:wrap;padding:16px 0;justify-content:flex-start;width:100%;max-width:100%;box-sizing:border-box}.semester-and-my-schedule{display:flex;align-items:center;gap:10px;padding:8px 0 0;width:100%;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.btn-my-schedule{padding:8px 16px;border-radius:var(--radius-full);border:2px solid #f5c542;background:#f5c5421f;color:#000;font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;flex-shrink:0;transition:background .2s var(--ease-out),color .2s var(--ease-out)}.btn-my-schedule:hover{background:#78788026}.btn-my-schedule.active{background:#f5c542;border-color:#f5c542;color:#fff}html[data-theme=night] .btn-my-schedule{color:#fff}.semester-selector{display:flex;gap:6px;justify-content:flex-start;flex:1;min-width:0;max-width:100%;box-sizing:border-box}.day-tab{padding:10px 18px;border-radius:var(--radius-full);border:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-soft);transition:all .3s var(--ease-out)}.day-tab:hover{color:var(--text-h);background:#7878801f}.day-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-bg)}.day-tab:active{transform:scale(.96)}.app-main{padding:8px 0 80px}.daily-view{text-align:right}.daily-view .day-results-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.daily-view .day-heading{font-size:25px;font-weight:600;margin:0;padding:0 4px;color:var(--text-h)}.daily-view .results-count{font-size:.9rem;color:var(--text-secondary);padding:0 4px}.daily-view .day-results-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;justify-content:flex-start}.session-list{list-style:none;padding:0;margin:0}.no-sessions{color:var(--text-secondary);font-size:16px;padding:40px 24px;text-align:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border-radius:var(--radius-lg);border:.5px solid var(--border)}.session-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border:.5px solid var(--glass-border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-card);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s var(--ease-out);position:relative;overflow:hidden}.session-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.session-card:active{transform:scale(.995)}.btn-bookmark{width:40px;height:40px;border:1px solid var(--glass-border);border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:color .2s,transform .2s var(--ease-spring)}.btn-bookmark:hover{color:var(--accent);transform:scale(1.08)}.btn-bookmark:disabled{opacity:.6;cursor:not-allowed}.btn-bookmark.bookmarked{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 4px 18px var(--accent-bg)}.session-header{display:flex;flex-direction:row-reverse;gap:8px;align-items:center;margin-bottom:10px;justify-content:flex-end;flex-wrap:wrap}.session-header.session-header--arz-youtube{padding-inline-end:148px;box-sizing:border-box}.session-type{display:inline-block;padding:5px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:.02em;transition:transform .2s var(--ease-out)}.session-type[data-type=lecture]{background:#007aff2e;color:#007aff}.session-type[data-type=tutorial]{background:#34c7592e;color:#34c759}.session-type[data-type=reinforcement]{background:#ff95002e;color:#ff9500}.session-semester,.session-field{font-size:13px;color:var(--text-secondary)}.session-title{font-size:18px;font-weight:600;margin:0 0 10px;color:var(--text-h);line-height:1.35;letter-spacing:-.02em}.session-meta{display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:14px;margin:0 0 10px;font-size:15px;color:var(--text-secondary);justify-content:flex-end}.session-meta .time{font-weight:600;color:var(--text-h)}.session-location{margin:0 0 14px;font-size:14px;color:var(--text-secondary)}.session-location a{color:var(--accent);text-decoration:none;font-weight:500;transition:opacity .2s var(--ease-out)}.session-location a:hover{opacity:.8}.session-location a:active{opacity:.6}.session-card .session-zoom-wrap{position:absolute;top:10px;left:12px;right:auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;direction:ltr}.session-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;direction:ltr}.btn-suggest{padding:6px 14px;border-radius:999px;border:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));color:var(--accent);font-size:13px;font-weight:500;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .18s var(--ease-spring),box-shadow .18s var(--ease-spring),background .2s var(--ease-out)}.btn-suggest:active{transform:scale(.96) translateY(1px);box-shadow:none}.session-actions-right{display:flex;align-items:center;gap:8px}.rating-block{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));box-shadow:var(--shadow-soft);transition:background .2s var(--ease-out),box-shadow .2s var(--ease-out)}.rating-average{font-size:13px;font-weight:600;color:var(--text-secondary);min-width:1.6em;text-align:center}.rating-stars-wrap{display:inline-flex;align-items:center;justify-content:center;position:relative}.rating-star-single-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;cursor:pointer;color:var(--rating-star, #eab308);transition:transform .15s var(--ease-spring),color .15s var(--ease-out)}.rating-star-single-btn:hover{transform:scale(1.08)}.rating-stars-five{display:flex;align-items:center;gap:2px;flex-direction:row-reverse;animation:rating-stars-expand .22s var(--ease-spring) forwards}@keyframes rating-stars-expand{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.rating-star-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px 1px;border:none;background:transparent;cursor:pointer;color:var(--rating-star, #eab308);transition:transform .12s var(--ease-spring),color .12s var(--ease-out)}.rating-star-num{font-size:10px;font-weight:600;line-height:1;color:var(--text-secondary);pointer-events:none}.rating-star-btn:hover{transform:scale(1.2);color:var(--rating-star-hover, #facc15)}.rating-star-filled{color:var(--rating-star, #eab308)}.rating-star-filled svg{fill:currentColor}.rating-star-outline{color:var(--rating-star, #eab308)}.rating-star-outline svg{fill:none;stroke:currentColor}.btn-calendar,.btn-whatsapp{width:32px;height:32px;border-radius:50%;border:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-soft);padding:0}.btn-whatsapp-icon{width:20px;height:20px;display:block}.btn-whatsapp-icon--night,html[data-theme=night] .btn-whatsapp-icon--day{display:none}html[data-theme=night] .btn-whatsapp-icon--night{display:block}html[data-theme=night] .btn-whatsapp{background:#1b2439;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 2px 12px #0006}.btn-calendar-icon{width:16px;height:16px;border-radius:4px;border:2px solid var(--accent);box-sizing:border-box;position:relative}.btn-calendar-icon:before{content:"";position:absolute;top:-3px;left:2px;right:2px;height:4px;border-radius:3px 3px 0 0;background:var(--accent)}.calendar-wrap{position:relative;display:inline-flex;align-items:center}.calendar-menu{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);background:var(--glass-bg);border:.5px solid var(--glass-border);border-radius:12px;box-shadow:var(--shadow-elevated);padding:8px 10px;display:flex;flex-direction:column;gap:4px;z-index:150;-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));min-width:152px;white-space:nowrap}html[data-theme=night] .calendar-menu{background:var(--glass-bg)}.calendar-menu button{border:none;background:transparent;text-align:right;font-size:13px;padding:4px 6px;cursor:pointer;color:var(--text-h);border-radius:10px}.calendar-menu button:hover{background:#7878801f}.calendar-menu button:active{background:#7878802e}.btn-zoom{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;font-size:0;background:transparent;border-radius:50%;text-decoration:none;box-shadow:none;transition:transform .25s var(--ease-spring),box-shadow .25s var(--ease-out),background .2s var(--ease-out);border:none;cursor:pointer;flex-shrink:0}.btn-zoom:hover{transform:scale(1.06);box-shadow:0 4px 20px var(--accent-bg)}.btn-zoom:active{transform:scale(.94)}.btn-zoom:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-zoom svg{display:block}.zoom-icon-img{width:100%;height:100%;display:block;border-radius:50%}.btn-zoom-disabled{opacity:.35;cursor:default;box-shadow:none}.btn-youtube{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;border:none;background:red;color:#fff;text-decoration:none;box-shadow:0 2px 10px #ff000059;transition:transform .25s var(--ease-spring),box-shadow .25s var(--ease-out),background .2s var(--ease-out);flex-shrink:0;cursor:pointer}.btn-youtube:hover{transform:scale(1.06);background:#e60000;box-shadow:0 4px 16px #ff000073}.btn-youtube:active{transform:scale(.94)}.btn-youtube:focus-visible{outline:2px solid #fff;outline-offset:2px}.btn-youtube svg{display:block}html[data-theme=night] .btn-youtube{box-shadow:0 2px 12px #00000059}.live-dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;display:inline-block;margin-left:6px;box-shadow:0 0 #2ecc7199;animation:live-pulse 1.4s ease-out infinite}.live-progress{position:absolute;top:0;right:0;left:0;height:3px;background:#2ecc712e;border-radius:14px 14px 0 0;overflow:hidden}.live-progress-inner{width:100%;height:100%;background:#2ecc71;transform-origin:right;transform:scaleX(0);transition:transform .4s var(--ease-out)}@keyframes live-pulse{0%{transform:scale(.9);box-shadow:0 0 #2ecc7199}70%{transform:scale(1.1);box-shadow:0 0 0 7px #2ecc7100}to{transform:scale(.9);box-shadow:0 0 #2ecc7100}}.btn-filter-mode,.btn-live-toggle,.btn-future-toggle{padding:6px 14px;border-radius:999px;border:2px solid #2ecc71;background:#2ecc7114;color:#2ecc71bf;font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-soft);transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .15s var(--ease-spring)}.btn-filter-mode.active,.btn-live-toggle.active,.btn-future-toggle.active{background:#2ecc71;color:#fff}.btn-filter-mode:active,.btn-live-toggle:active,.btn-future-toggle:active{transform:scale(.96)}.ios-modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;justify-content:center;align-items:flex-end;padding:16px;z-index:200}.session-modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;justify-content:center;align-items:center;padding:16px;z-index:200}.ios-modal,.session-modal{width:100%;max-width:480px;background:var(--bg-elevated);border-radius:22px;padding:16px 18px 18px;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));animation:modal-pop .22s var(--ease-spring)}.ios-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ios-modal-title{margin:0;font-size:17px;font-weight:600;color:var(--text-h)}.ios-modal-close{border:none;background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer}.ios-modal-subtitle{margin:8px 0 12px;font-size:14px;color:var(--text-secondary)}.ios-modal-form{display:flex;flex-direction:column;gap:10px}.ios-field{display:flex;flex-direction:column;gap:4px;flex:1}.ios-field span{font-size:13px;color:var(--text-secondary)}.ios-field input{border-radius:12px;border:1px solid var(--border);padding:8px 10px;font-size:16px;background:#ffffffe6;color:var(--text-h)}html[data-theme=night] .ios-field input{background:#ffffff14}.ios-field-row{display:flex;gap:8px}.ios-field-row .ios-field{flex:0 1 32%;max-width:32%}.ios-field-row .ios-field span{font-size:11px}.ios-field-row .ios-field input{padding:5px 8px;font-size:14px}.ios-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.ios-zoom-actions,.ios-location-actions{display:flex;justify-content:flex-end;margin-top:6px}.btn-compact{padding:8px 18px;font-size:14px}.session-modal .btn-primary{background:#22c55e;color:#fff}.session-modal .btn-primary:hover{opacity:.92;box-shadow:0 4px 16px #22c55e47}.ios-delete-request-wrap{margin-top:20px;padding-top:16px;border-top:.5px solid var(--border)}.btn-destructive{background:#ff3b30!important;color:#fff!important;width:100%;justify-content:center}.btn-destructive:hover:not(:disabled){background:#ff2d20!important;opacity:.95}.btn-destructive:disabled{opacity:.6}.ios-toast{position:fixed;left:50%;bottom:72px;transform:translate(-50%);padding:10px 16px;border-radius:18px;background:#000000bf;color:#fff;font-size:14px;box-shadow:0 6px 20px #00000040;z-index:220;animation:toast-fade 2.5s ease-out forwards}.whatsnew-backdrop{position:fixed;inset:0;z-index:1300;background:#00000047;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.whatsnew-modal{width:100%;max-width:420px;background:#ffffff9e;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);color:var(--text-h);border-radius:18px;border:.5px solid rgba(255,255,255,.5);padding:18px 18px 16px;box-shadow:0 18px 60px #00000038;position:relative;direction:rtl}html[data-theme=night] .whatsnew-modal{background:#1e293b9e;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-color:#ffffff1f;box-shadow:0 18px 60px #00000080}.whatsnew-close{position:absolute;top:10px;left:10px;width:34px;height:34px;border-radius:50%;border:none;background:#7878801f;color:#111;cursor:pointer;font-size:18px;line-height:1}.whatsnew-title{margin:0 0 8px;font-size:24px;font-weight:800;color:#000;text-align:right}.whatsnew-list{margin:0 0 14px;padding:0 18px 0 0;font-size:16.5px;line-height:1.5;color:#000000c7}.whatsnew-list li{margin:6px 0}.whatsnew-list .whatsnew-version-row,.whatsnew-list .whatsnew-no-bullet{list-style:none;margin-inline-end:-18px}.whatsnew-list a{color:inherit;text-decoration:underline}.whatsnew-ok{width:100%}html[data-theme=night] .whatsnew-close{background:#ffffff1f;color:#fff}html[data-theme=night] .whatsnew-title{color:#fff}html[data-theme=night] .whatsnew-list{color:#fffc}@keyframes modal-pop{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%) translateY(8px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(4px)}}.daily-view{max-width:1200px;margin:0 auto;padding:20px;box-sizing:border-box}.session-list{list-style:none;padding:0;margin:0;width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.session-card{width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column}@media(max-width:1024px){.session-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:768px){.schedule-app{padding-inline:16px}.search-field-subject,.search-field-day{max-width:100%}.search-field-subject select,.search-field-day select{font-size:14px}.day-selector{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-inline:0;padding-bottom:8px;scrollbar-width:none}.day-selector::-webkit-scrollbar{display:none}.semester-selector{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-inline:0;padding-top:8px;padding-bottom:8px;scrollbar-width:none}.semester-selector::-webkit-scrollbar{display:none}.day-tab{flex-shrink:0;padding:8px 14px;font-size:12px}.daily-view{padding:12px}.session-list{grid-template-columns:1fr}.rating-block{padding:3px 5px;gap:2px}.rating-average{font-size:12px;min-width:1.4em}.rating-star-btn,.rating-star-single-btn{padding:1px}.rating-star-btn svg,.rating-star-single-btn svg{width:19px;height:19px}.rating-star-num{font-size:12px}}.admin-main{max-width:900px;margin:0 auto;padding:24px 20px 48px;box-sizing:border-box}.admin-login-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border:.5px solid var(--border);border-radius:var(--radius-xl);padding:32px 28px;box-shadow:var(--shadow-card);text-align:center;max-width:360px;margin:48px auto 0}.admin-login-title{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text-h)}.admin-login-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 24px}.admin-login-form{display:flex;flex-direction:column;gap:12px;align-items:stretch}.admin-login-input{padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:16px;background:#fff9;color:var(--text-h);text-align:center;direction:ltr}.admin-login-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}html[data-theme=night] .admin-login-input{background:#ffffff14}.admin-login-error{margin:0;font-size:14px;color:#ff3b30}.admin-login-btn{padding:12px 24px;font-size:16px}.admin-dashboard{display:flex;flex-direction:column;gap:24px}.admin-stats{width:100%}.admin-stats-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:linear-gradient(135deg,#007aff1f,#007aff0a);border:.5px solid rgba(0,122,255,.2);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-soft)}.admin-stats-label{font-size:16px;font-weight:600;color:var(--text-h)}.admin-stats-count{font-size:28px;font-weight:700;color:var(--accent);line-height:1}.admin-add-session{width:100%}.admin-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);border:.5px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));box-shadow:var(--shadow-soft);cursor:pointer;color:var(--text-h);margin-bottom:10px}.admin-section-toggle:active{transform:scale(.995)}.admin-section-toggle .admin-section-title{margin:0}.admin-section-toggle-icon{font-size:18px;color:var(--text-secondary);line-height:1}.admin-add-session-form{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border:.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-soft)}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:18px}.admin-form-field{display:flex;flex-direction:column;gap:6px}.admin-form-field span{font-size:13px;font-weight:500;color:var(--text-secondary)}.admin-form-field-full{grid-column:1 / -1}.admin-form-input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:15px;background:#ffffff80;color:var(--text-h);font-family:inherit}.admin-form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}html[data-theme=night] .admin-form-input{background:#ffffff14}.admin-add-session-btn{width:100%;padding:12px 20px;font-size:16px}.admin-management-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.admin-management-header .admin-section-title{margin:0}.admin-btn-accept-all{padding:10px 18px;border-radius:var(--radius-full);border:none;background:#34c759;color:#fff;font-size:14px;font-weight:600;font-family:var(--sans);cursor:pointer;transition:opacity .2s,transform .2s var(--ease-spring)}.admin-btn-accept-all:hover:not(:disabled){opacity:.95;transform:scale(1.02)}.admin-btn-accept-all:disabled{opacity:.7;cursor:not-allowed}.admin-section-title{font-size:18px;font-weight:600;margin:0 0 16px;color:var(--text-h)}.admin-loading,.admin-error,.admin-empty{margin:0;padding:20px;text-align:center;color:var(--text-secondary);background:var(--glass-bg);border-radius:var(--radius-md);border:.5px solid var(--border)}.admin-error{color:#ff3b30}.admin-suggestion-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.admin-suggestion-card{display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:space-between;gap:16px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border:.5px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-soft);transition:box-shadow .2s var(--ease-out)}.admin-suggestion-card:hover{box-shadow:var(--shadow-card)}.admin-suggestion-body{flex:1;min-width:0}.admin-suggestion-title{font-size:17px;font-weight:600;margin:0 0 8px;color:var(--text-h);line-height:1.35}.admin-suggestion-meta,.admin-suggestion-type,.admin-suggestion-proposed{font-size:14px;color:var(--text-secondary);margin:0 0 6px;line-height:1.45}.admin-suggestion-proposed{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.admin-suggestion-delete{color:#ff3b30;font-weight:500}.admin-suggestion-actions{display:flex;gap:8px;flex-shrink:0}.admin-btn{width:44px;height:44px;border-radius:50%;border:none;font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s var(--ease-spring),opacity .2s var(--ease-out);padding:0}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-approve{background:#34c759;color:#fff;box-shadow:0 2px 12px #34c75959}.admin-btn-approve:hover:not(:disabled){transform:scale(1.06);box-shadow:0 4px 16px #34c75966}.admin-btn-reject{background:#ff3b30;color:#fff;box-shadow:0 2px 12px #ff3b3059}.admin-btn-reject:hover:not(:disabled){transform:scale(1.06);box-shadow:0 4px 16px #ff3b3066}.admin-feedback-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.admin-feedback-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border:.5px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-soft)}.admin-feedback-message{margin:0 0 8px;font-size:15px;color:var(--text-h);line-height:1.45;white-space:pre-wrap;word-break:break-word}.admin-feedback-date{font-size:13px;color:var(--text-secondary)}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));border-top:.5px solid var(--border);padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));cursor:pointer;transition:background .3s var(--ease-out)}.app-footer:active{background:#7878801f}@media(max-width:768px){.app-footer{position:static;margin-inline:-16px;border-radius:0}.app-main{padding-bottom:max(24px,env(safe-area-inset-bottom))}.app-footer-divider{left:0;right:0}}.app-footer-divider{position:absolute;top:0;left:16px;right:16px;height:.5px;background:var(--border)}.app-footer-inner{display:flex;align-items:center;justify-content:center;text-align:center;flex-wrap:nowrap}.app-footer-line{font-family:Caveat,cursive;font-size:16.5px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;direction:ltr}.app-footer-coffee-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}.footer-modal-backdrop{align-items:flex-end;padding:0}.footer-modal{width:100%;max-width:400px;margin:0;border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto}.footer-modal-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:16px}.footer-modal-header h2{font-size:20px;font-weight:700;margin:0;color:var(--text-h)}.footer-feedback-form-backdrop{z-index:210}.footer-feedback-form-modal{max-width:360px;padding:20px}.footer-feedback-form-title{font-size:17px;font-weight:600;margin:0 0 16px;color:var(--text-h)}.footer-feedback-form .footer-feedback-textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:16px;font-family:inherit;resize:vertical;min-height:100px;margin-bottom:16px;box-sizing:border-box;background:#fff9;color:var(--text-h)}.footer-feedback-form .footer-feedback-textarea:focus{outline:none;border-color:var(--accent)}html[data-theme=night] .footer-feedback-form .footer-feedback-textarea{background:#ffffff14}.footer-feedback-form-actions{display:flex;flex-direction:row-reverse;gap:10px;justify-content:flex-end}.footer-feedback-form .btn-primary{background:#22c55e;color:#fff}.footer-feedback-form .btn-primary:hover{opacity:.92;box-shadow:0 4px 16px #22c55e47}.footer-feedback{padding-top:0}.footer-feedback-title{font-size:15px;font-weight:600;color:var(--text-h);margin:0 0 12px}.footer-feedback-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.footer-emoji-btn{width:56px;height:56px;border-radius:50%;border:none;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));backdrop-filter:blur(var(--blur-amount)) saturate(var(--blur-saturate));font-size:28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-out);box-shadow:var(--shadow-soft)}.footer-emoji-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-card)}.footer-emoji-btn:active{transform:scale(.96)}.footer-confetti{position:fixed;inset:0;pointer-events:none;z-index:300}.footer-confetti-piece{position:absolute;width:8px;height:8px;background:var(--accent);top:50%;left:50%;animation:footer-confetti-fly 1.4s ease-out forwards;opacity:0;--i: 0;--angle: calc(var(--i) * 15deg);transform:translate(-50%,-50%) rotate(var(--angle))}.footer-confetti-piece:nth-child(odd){background:#34c759}.footer-confetti-piece:nth-child(3n){background:#ff9500}@keyframes footer-confetti-fly{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) scale(1)}to{opacity:0;transform:translate(calc(-50% + (var(--i) * 8px) - 80px),calc(-50% - 120px)) rotate(calc(var(--angle) + 360deg)) scale(.3)}}.footer-heart{position:fixed;bottom:50%;font-size:28px;pointer-events:none;z-index:300;animation:footer-heart-float 2.2s ease-out forwards}@keyframes footer-heart-float{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-120px) scale(1.2)}}.summaries-page{width:100%;max-width:1200px;margin:0 auto;padding:16px 16px 120px;box-sizing:border-box}.summaries-header{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.summaries-topbar{display:flex;justify-content:flex-start;align-items:center}.summaries-back-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:var(--radius-full);background:var(--glass-bg);border:1px solid var(--border);color:var(--accent);font-size:14px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .25s var(--ease-spring),opacity .25s var(--ease-out);white-space:nowrap}.summaries-back-btn:hover{opacity:.95;transform:scale(1.02)}.summaries-back-btn:active{transform:scale(.98)}.summaries-title{margin:0;font-size:26px;font-weight:800;color:var(--text-h);text-align:center}.summaries-header-actions{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}.summaries-course-filter{flex:1;min-width:220px}.summaries-upload-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;white-space:nowrap;flex:0 0 auto}.summaries-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.summary-card{background:var(--glass-bg);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-soft);display:flex;gap:12px;align-items:center;justify-content:space-between}.summary-main{flex:1;min-width:0}.summary-title-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.summary-title{margin:0;font-size:24px;font-weight:800;color:var(--text-h);line-height:1.15}.summary-type{display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0 12px;min-height:36px;line-height:1;border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap}.summary-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.summary-reactions{display:inline-flex;align-items:center;gap:6px}.summary-react-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#7878801a;color:var(--text-secondary);border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700;font-family:var(--sans);cursor:pointer;transition:transform .2s var(--ease-spring),background .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out)}.summary-react-btn:hover:not(:disabled){transform:translateY(-1px);color:var(--text-h);background:#7878802e}.summary-react-btn:disabled{opacity:.6;cursor:not-allowed}.summary-react-btn.active.like{color:#d4a106;border-color:#f5c54280;background:#f5c5422e}.summary-react-btn.active.heart{color:#e11d48;border-color:#e11d4859;background:#e11d481f}.summary-react-btn.pulse{animation:summaryReactPop .5s var(--ease-spring)}.summary-react-btn.pulse svg{animation:summaryReactIconFloat .5s var(--ease-out)}@keyframes summaryReactPop{0%{transform:scale(1)}40%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes summaryReactIconFloat{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.08)}to{transform:translateY(0) scale(1)}}.summary-download,.summary-preview{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--radius-full);text-decoration:none;background:#78788024;color:var(--accent);border:1px solid rgba(245,197,66,.25);transition:transform .2s var(--ease-spring),opacity .2s var(--ease-out),background .2s var(--ease-out);font-size:15px;font-weight:600;font-family:var(--sans);line-height:1;cursor:pointer;appearance:none;-webkit-appearance:none}.summary-download:hover,.summary-preview:hover{opacity:.95;background:#78788033;transform:scale(1.02)}.summary-delete-btn{width:40px;height:40px;border-radius:50%;border:none;background:#ff3b3029;color:#ff3b30;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .2s var(--ease-spring),opacity .2s var(--ease-out),background .2s var(--ease-out)}.summary-delete-btn:hover:not(:disabled){background:#ff3b303d;transform:scale(1.04)}.summary-delete-btn:active:not(:disabled){transform:scale(.98)}.summary-delete-btn:disabled{opacity:.6;cursor:not-allowed}.summary-group{display:flex;flex-direction:column;gap:10px}.summary-group-header{padding:6px 2px 2px}.summary-group-title{margin:0;font-size:18px;font-weight:900;color:var(--text-h)}.summary-group-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.summary-card-inline{padding:14px}.summary-dropzone{width:100%;max-width:280px;aspect-ratio:1 / 1;margin:8px auto 0;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:2px dashed rgba(245,197,66,.5);border-radius:18px;cursor:pointer;box-shadow:var(--shadow-soft)}.summary-dropzone:hover:not(:disabled){background:#7878801a}.summary-dropzone:active:not(:disabled){transform:scale(.99)}.summary-dropzone:disabled{opacity:.6;cursor:not-allowed}.summary-dropzone-inner{width:100%;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.summary-dropzone-text{font-size:14px;font-weight:800;color:var(--accent)}.summary-dropzone-file{font-size:12.5px;color:var(--text-secondary);word-break:break-word}.summary-dropzone-progress{font-size:14px;font-weight:800;color:#2ecc71}.summaries-page .admin-form-input{color:var(--text-h)}.summaries-page .admin-form-input option{color:#111;background:#fff}html[data-theme=night] .summaries-page .admin-form-input{background:#334155;color:var(--text-h);border-color:#ffffff24}html[data-theme=night] .summaries-page .admin-form-input option{color:#e5e7eb;background:#1e293b}@media(max-width:768px){.summaries-page{padding:12px 12px 120px}.summary-card{flex-direction:column;align-items:flex-start}.summary-actions{width:100%;justify-content:flex-start}}
