@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=SF+Pro+Display:wght@400;500;600;700&display=swap";
:root{--bg-primary:#f2f3f7;--bg-secondary:#fff;--bg-tertiary:#f8f9fd;--bg-card:#ffffffe0;--bg-card-hover:#fffffffa;--bg-glass:#ffffffc7;--bg-glass-heavy:#ffffffdb;--bg-elevated:#fff;--bg-navbar:#ffffffeb;--bg-bottom-bar:#ffffffe0;--bg-day-strip:#fff;--bg-lesson-card:#fff;--text-primary:#121417;--text-secondary:#575e6b;--text-tertiary:#878f9e;--text-quaternary:#adb5c4;--accent-apple:#0a84ff;--accent-apple-hover:#0071e3;--accent-apple-subtle:#e8f3ff;--accent-apple-border:#0a84ff38;--accent-gradient:linear-gradient(135deg, #0a84ff 0%, #5e5ce6 100%);--accent-surface:#edf4fe;--patok-color:#5856d6;--patok-bg:#f0effe;--patok-border:#5856d640;--seminar-color:#007aff;--seminar-bg:#eaf3ff;--seminar-border:#007aff40;--lab-color:#34c759;--lab-bg:#eafaf0;--lab-border:#34c75940;--success-color:#34c759;--warning-color:#ff9500;--danger-color:#ff3b30;--border-subtle:#0000000f;--border-medium:#0000001f;--border-highlight:#0a84ff4d;--shadow-sm:0 2px 10px #00000008;--shadow-md:0 10px 30px #1214170f;--shadow-lg:0 20px 48px #12141717;--shadow-dock:0 16px 40px #0000001f, 0 2px 10px #0000000a;--shadow-island:0 18px 44px #0a84ff38;--blur-glass:blur(28px) saturate(190%);--radius-xs:10px;--radius-sm:14px;--radius-md:18px;--radius-lg:24px;--radius-xl:32px;--radius-pill:9999px;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Plus Jakarta Sans", sans-serif;--transition-smooth:all .28s cubic-bezier(.2, .8, .2, 1);--transition-spring:all .4s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg-primary:#0d0d0f;--bg-secondary:#1c1c1e;--bg-tertiary:#141416;--bg-card:#1c1c1ee6;--bg-card-hover:#262628fa;--bg-glass:#1c1c1ed1;--bg-glass-heavy:#242426e6;--bg-elevated:#1c1c1e;--bg-navbar:#0d0d0feb;--bg-bottom-bar:#121214f0;--bg-day-strip:#1c1c1e;--bg-lesson-card:#1c1c1e;--text-primary:#f0f0f5;--text-secondary:#a0a6b3;--text-tertiary:#636a7a;--text-quaternary:#454d5e;--accent-apple:#0a84ff;--accent-apple-hover:#409cff;--accent-apple-subtle:#0a84ff2e;--accent-apple-border:#0a84ff4d;--accent-gradient:linear-gradient(135deg, #0a84ff 0%, #5e5ce6 100%);--accent-surface:#0a84ff1f;--patok-color:#a29bfe;--patok-bg:#5856d62e;--patok-border:#5856d659;--seminar-color:#409cff;--seminar-bg:#007aff26;--seminar-border:#007aff4d;--lab-color:#30d158;--lab-bg:#34c75926;--lab-border:#34c7594d;--success-color:#30d158;--warning-color:#ff9f0a;--danger-color:#ff453a;--border-subtle:#ffffff12;--border-medium:#ffffff21;--border-highlight:#0a84ff66;--shadow-sm:0 2px 10px #00000040;--shadow-md:0 10px 30px #00000059;--shadow-lg:0 20px 48px #00000080;--shadow-dock:0 16px 40px #00000080, 0 2px 10px #0000004d;--shadow-island:0 18px 44px #0a84ff47}*,:before,:after{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);min-height:100vh;transition:background-color .3s,color .3s;overflow-x:hidden}body{flex-direction:column;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit}.apple-glass{background:var(--bg-card);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition-smooth)}.apple-glass:hover{border-color:var(--border-medium)}.apple-card{background:var(--bg-card);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);padding:1.25rem;position:relative;overflow:hidden}.apple-card:hover{background:var(--bg-card-hover);border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.apple-btn-primary{background:var(--accent-apple);color:#fff;border-radius:var(--radius-pill);transition:var(--transition-smooth);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #0071e34d}.apple-btn-primary:hover{background:var(--accent-apple-hover);transform:scale(1.02);box-shadow:0 6px 20px #0071e366}.apple-btn-primary:active{transform:scale(.98)}.apple-btn-secondary{background:var(--accent-apple-subtle);color:var(--accent-apple);border-radius:var(--radius-pill);border:1px solid var(--accent-apple-border);transition:var(--transition-smooth);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.apple-btn-secondary:hover{background:#0071e329;transform:scale(1.02)}.apple-btn-secondary:active{transform:scale(.98)}.apple-btn-ghost{color:var(--text-secondary);border-radius:var(--radius-pill);transition:var(--transition-smooth);background:0 0;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1rem;font-weight:500;display:inline-flex}.apple-btn-ghost:hover{color:var(--text-primary);background:#8080801a}.timeline-container{flex-direction:column;gap:0;padding:.5rem 0;display:flex;position:relative}.timeline-item{align-items:stretch;gap:1.25rem;padding-bottom:1.25rem;display:flex;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-time-col{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;width:58px;padding-top:4px;display:flex}.timeline-axis{flex-direction:column;flex-shrink:0;align-items:center;width:16px;display:flex;position:relative}.timeline-node{background:var(--bg-primary);border:3px solid var(--accent-apple);z-index:2;border-radius:50%;width:14px;height:14px;margin-top:6px;box-shadow:0 0 0 3px #0a84ff26}.timeline-node.live{background:var(--success-color);border-color:#fff;box-shadow:0 0 0 4px #34c75959}.timeline-line{z-index:1;background:linear-gradient(#0a84ff66,#00000014);width:2px;position:absolute;top:18px;bottom:-4px}.timeline-item:last-child .timeline-line{display:none}.day-strip{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;align-items:center;gap:.5rem;padding:.25rem .1rem .5rem;display:flex;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.day-strip-btn{background:var(--bg-day-strip);border:1px solid var(--border-subtle);min-width:68px;transition:var(--transition-spring);cursor:pointer;border-radius:20px;flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:4px;padding:.75rem .5rem;display:flex;box-shadow:0 2px 8px #00000008}.day-strip-btn.active{background:linear-gradient(135deg,#0a84ff 0%,#0062cc 100%);border-color:#0000;transform:translateY(-2px);box-shadow:0 8px 20px #0a84ff59;color:#fff!important}.day-strip-btn.active span{color:#fff!important}.day-strip-btn:active{transform:scale(.94)}.timeline-card{background:var(--bg-lesson-card);transition:var(--transition-smooth);border:1px solid #0000000f;border-radius:22px;flex-direction:column;flex:1;gap:.65rem;padding:1.15rem 1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #1214170a}.timeline-card:hover{border-color:#0a84ff33;transform:translateY(-2px);box-shadow:0 10px 28px #12141714}.timeline-card.live-card{border:2px solid var(--success-color);background:linear-gradient(135deg,#fff 0%,#34c7590a 100%);box-shadow:0 8px 30px #34c75926}.pulse-dot{background-color:var(--success-color);border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse-ring;display:inline-block;box-shadow:0 0 #34c759b3}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #34c759b3}70%{transform:scale(1);box-shadow:0 0 0 8px #34c75900}to{transform:scale(.95);box-shadow:0 0 #34c75900}}.apple-segmented-control{border-radius:var(--radius-pill);background:#78788024;gap:2px;padding:4px;display:inline-flex;position:relative}.apple-segment-btn{border-radius:var(--radius-pill);color:var(--text-secondary);transition:var(--transition-smooth);padding:.45rem 1rem;font-size:.85rem;font-weight:500}.apple-segment-btn.active{background:var(--bg-elevated);color:var(--text-primary);font-weight:600;box-shadow:0 2px 8px #0000001f}.apple-input{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition-smooth);padding:.75rem 1rem;font-size:.95rem}.apple-input:focus{background:var(--bg-elevated);border-color:var(--accent-apple);box-shadow:0 0 0 3px #0071e333}select.apple-input option{background:var(--bg-elevated);color:var(--text-primary)}.badge-patok{background:var(--patok-bg);color:var(--patok-color);border:1px solid var(--patok-border);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-seminar{background:var(--seminar-bg);color:var(--seminar-color);border:1px solid var(--seminar-border);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-lab{background:var(--lab-bg);color:var(--lab-color);border:1px solid var(--lab-border);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.schedule-hero-card{color:#fff;background:linear-gradient(135deg,#1c1c1e 0%,#2c2c2e 100%);border:1px solid #ffffff1a;border-radius:24px;padding:1.4rem 1.6rem;position:relative;overflow:hidden;box-shadow:0 12px 36px #00000038}.schedule-hero-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#0a84ff47 0%,#0000 70%);width:250px;height:250px;position:absolute;top:-50%;right:-20%}.day-pill-active{color:#fff!important;background:linear-gradient(135deg,#0a84ff 0%,#06c 100%)!important;border-color:#0000!important;box-shadow:0 6px 16px #0a84ff59!important}.modern-lesson-card{background:var(--bg-lesson-card);border:1px solid #00000012;border-radius:20px;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 4px 18px #00000008}.modern-lesson-card:hover{border-color:#0a84ff40;transform:translateY(-2px);box-shadow:0 12px 30px #00000014}.modern-lesson-card.is-live{border:2px solid var(--success-color);background:linear-gradient(180deg, #34c7590f 0%, var(--bg-secondary) 100%);box-shadow:0 8px 28px #34c75929}.modern-lesson-card.is-soon{border:2px solid var(--warning-color);background:linear-gradient(180deg, #ff95000f 0%, var(--bg-secondary) 100%);box-shadow:0 8px 28px #ff950026}.apple-modal-overlay{-webkit-backdrop-filter:blur(20px);z-index:9999;background:#000000a6;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.apple-modal-content{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:580px;max-height:90vh;padding:2rem;animation:.25s cubic-bezier(.16,1,.3,1) scaleUp;position:relative;overflow-y:auto}.modal-sheet-handle{background:#80808066;border-radius:999px;width:40px;height:4px;margin:0 auto 1rem;display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.apple-dock{background:var(--bg-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);box-shadow:var(--shadow-dock);z-index:1000;align-items:center;gap:.25rem;padding:.4rem .6rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.apple-dock-item{border-radius:var(--radius-pill);color:var(--text-secondary);transition:var(--transition-smooth);flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .9rem;font-size:.7rem;font-weight:500;display:flex}.apple-dock-item.active{color:var(--accent-apple);background:var(--accent-apple-subtle)}.apple-dock-item:hover{color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#80808040}::-webkit-scrollbar-thumb:hover{background:#80808073}.app-bottom-bar{background:var(--bg-bottom-bar);-webkit-backdrop-filter:blur(28px)saturate(200%);border-top:1px solid var(--border-subtle);padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom,0px)) 1rem;z-index:999;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000a}.app-tab-btn{color:var(--text-tertiary);border-radius:var(--radius-sm);transition:var(--transition-smooth);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 12px;font-size:.72rem;font-weight:600;display:flex}.app-tab-btn.active{color:var(--accent-apple);transform:scale(1.05)}.app-tab-btn:active{transform:scale(.92)}@media (min-width:769px){.hide-desktop{display:none!important}}.dynamic-island{color:#fff;box-shadow:var(--shadow-island);transition:var(--transition-spring);background:#000;border-radius:28px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex;position:relative;overflow:hidden}.dynamic-island:hover{transform:translateY(-2px);box-shadow:0 22px 50px #00000059}.touch-press{transition:transform .18s cubic-bezier(.2,.8,.2,1)}.touch-press:active{transform:scale(.97)}@media (max-width:640px){input,select,textarea,.apple-input{font-size:16px!important}.apple-modal-overlay{align-items:flex-end;padding:0}.apple-modal-content{max-height:92vh;padding:1.25rem 1.1rem calc(2rem + env(safe-area-inset-bottom,0px)) 1.1rem;border-bottom:none;border-radius:28px 28px 0 0;margin:0;animation:.32s cubic-bezier(.16,1,.3,1) slideUpSheet}.modal-sheet-handle{display:block}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.hide-mobile{display:none!important}.mobile-stack{grid-template-columns:1fr!important}.mobile-p-1{padding:1rem!important}.app-bottom-bar{padding:.3rem .5rem calc(.4rem + env(safe-area-inset-bottom,0px)) .5rem}.app-tab-btn{gap:2px;min-height:52px;padding:6px 8px;font-size:.68rem}.app-tab-btn svg{width:24px;height:24px}.navbar-logo-wrap{width:120px!important;height:34px!important}.apple-card{border-radius:var(--radius-md);padding:1rem}.timeline-card{border-radius:18px;padding:.95rem 1rem}.day-strip-btn{border-radius:16px;min-width:54px;padding:.6rem .3rem;font-size:.75rem}.home-quick-actions{grid-template-columns:1fr 1fr!important}.home-greeting-card{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}.home-greeting-card .greeting-nav-btn{align-self:flex-start}.announcement-preview-card{border-radius:16px!important;padding:.85rem 1rem!important}.admin-stat-card{border-radius:14px!important;padding:.85rem!important}.schedule-hero-card{border-radius:18px;padding:1.1rem}.profile-section-card{border-radius:16px!important;padding:1rem!important}}@media (max-width:380px){.app-tab-btn{padding:5px 4px;font-size:.63rem}.app-tab-btn svg{width:22px;height:22px}.home-quick-actions{grid-template-columns:1fr!important}.day-strip-btn{min-width:46px;padding:.5rem .2rem;font-size:.7rem}.lesson-list-row{flex-direction:column!important;align-items:flex-start!important;gap:4px!important}.lesson-time-col{width:auto!important}}.ios-safe-header{padding-top:env(safe-area-inset-top,0px)!important}@supports (-webkit-touch-callout:none){.ios-safe-header{padding-top:max(env(safe-area-inset-top,0px), 8px)!important}}
