*{margin:0;padding:0;box-sizing:border-box}:root{--mac-bg: #F5F5F7;--mac-bg-soft: #EFF1ED;--mac-sidebar: #EFF1ED;--mac-sidebar-bg: #EFF1ED;--mac-card: #FFFFFF;--mac-card-alt: #F9FAF8;--mac-accent: #7E9A78;--mac-accent-hover: #475E54;--mac-accent-light: rgba(126, 154, 120, .12);--mac-text: #2B2A26;--mac-text-secondary: #6B6B6B;--mac-text-light: #9B9B9B;--mac-border: #E8EDE5;--mac-shadow: rgba(43, 42, 38, .08);--mac-glass: rgba(255, 255, 255, .7);--mac-text-tertiary: #BBBBBB;--mac-radius: 12px;--mac-radius-sm: 8px;--mac-radius-xs: 6px;--mac-dot: #7E9A78;--mac-dot-inactive: #C4D4C0;--mac-line: #DDE3DA;--mac-header-grad: linear-gradient(135deg, #7E9A78, #475E54);--mac-btn-grad: linear-gradient(135deg, #7E9A78, #6B8E7F);--mac-success: #5B8C5A;--mac-danger: #C85A4A;--mac-warning: #D4A03C;--mac-info: #7A8FA8;--mac-overlay: rgba(255, 255, 255, .7);--mac-input-bg: #F9FAF8;--mac-accent-bg: rgba(126, 154, 120, .12);--mac-accent-border: rgba(126, 154, 120, .38);--mac-accent-hover-bg: rgba(126, 154, 120, .22);--mac-success-bg: rgba(91, 140, 90, .12);--mac-success-border: rgba(91, 140, 90, .38);--mac-success-hover-bg: rgba(91, 140, 90, .22);--mac-danger-bg: rgba(200, 90, 74, .12);--mac-danger-border: rgba(200, 90, 74, .38);--mac-danger-hover-bg: rgba(200, 90, 74, .22);--mac-warning-bg: rgba(212, 160, 60, .12);--mac-warning-border: rgba(212, 160, 60, .38);--mac-warning-hover-bg: rgba(212, 160, 60, .22);--mac-info-bg: rgba(122, 143, 168, .12);--mac-info-border: rgba(122, 143, 168, .38);--mac-info-hover-bg: rgba(122, 143, 168, .22);--zen-primary: #7E9A78;--zen-primary-dark: #475E54;--zen-primary-light: #A3B8A8;--zen-accent: #C97B5C;--zen-accent-dark: #B86A4D;--zen-bg: #F5F5F7;--zen-bg-soft: #EFF1ED;--zen-card: #FFFFFF;--zen-card-alt: #F9FAF8;--zen-text: #2B2A26;--zen-text-secondary: #6B6B6B;--zen-border: #E8EDE5;--zen-shadow: rgba(43, 42, 38, .08);--zen-header-grad: linear-gradient(135deg, #7E9A78, #475E54);--zen-hero-grad: linear-gradient(135deg, #7E9A78, #475E54);--zen-btn-grad: linear-gradient(135deg, #7E9A78, #6B8E7F);--zen-accent-btn-grad: linear-gradient(135deg, #C97B5C, #B86A4D);--zen-tab-active-bg: linear-gradient(135deg, #7E9A78, #475E54);--zen-overlay: rgba(255, 255, 255, .7);--zen-input-bg: #F9FAF8;--zen-success: #5B8C5A;--zen-danger: #C85A4A;--zen-warning: #D4A03C;--zen-info: #7A8FA8;--zen-primary-bg: rgba(126, 154, 120, .12);--zen-primary-border: rgba(126, 154, 120, .38);--zen-primary-hover-bg: rgba(126, 154, 120, .22);--zen-accent-bg: rgba(201, 123, 92, .12);--zen-accent-border: rgba(201, 123, 92, .38);--zen-accent-hover-bg: rgba(201, 123, 92, .22);--zen-success-bg: rgba(91, 140, 90, .12);--zen-success-border: rgba(91, 140, 90, .38);--zen-success-hover-bg: rgba(91, 140, 90, .22);--zen-danger-bg: rgba(200, 90, 74, .12);--zen-danger-border: rgba(200, 90, 74, .38);--zen-danger-hover-bg: rgba(200, 90, 74, .22);--zen-warning-bg: rgba(212, 160, 60, .12);--zen-warning-border: rgba(212, 160, 60, .38);--zen-warning-hover-bg: rgba(212, 160, 60, .22);--zen-info-bg: rgba(122, 143, 168, .12);--zen-info-border: rgba(122, 143, 168, .38);--zen-info-hover-bg: rgba(122, 143, 168, .22)}html{scrollbar-gutter:stable}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;background-color:var(--mac-bg);color:var(--mac-text);min-height:100vh}#root{min-height:100vh}.login-container{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--zen-bg)}.login-card{background:var(--zen-card);border:1px solid var(--zen-border);border-radius:var(--mac-radius);padding:44px;width:420px;box-shadow:0 8px 24px var(--zen-shadow)}.login-header{text-align:center;margin-bottom:36px}.login-title{font-size:22px;font-weight:700;color:var(--zen-text);margin-bottom:8px}.login-subtitle{font-size:14px;color:var(--zen-text-secondary)}.login-form{display:flex;flex-direction:column;gap:18px}.login-input{padding:13px 16px;border:1px solid var(--zen-border);border-radius:var(--mac-radius-sm);font-size:14px;transition:all .2s ease;background:var(--zen-card);color:var(--zen-text)}.login-input:focus{outline:none;border-color:var(--zen-primary);box-shadow:0 0 0 3px var(--zen-primary-bg)}.login-select{padding:13px 16px;border:1px solid var(--zen-border);border-radius:var(--mac-radius-sm);font-size:14px;transition:all .2s ease;background:var(--zen-card);color:var(--zen-text);cursor:pointer}.login-button{padding:13px;background:var(--zen-btn-grad);color:#fff;border:none;border-radius:var(--mac-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.login-button:hover{background:var(--zen-accent-btn-grad);box-shadow:0 4px 12px var(--zen-shadow);transform:translateY(-1px)}.layout-container{display:flex;min-height:100vh}.sidebar{width:176px;background:var(--mac-sidebar-bg);border-right:1px solid var(--mac-border);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100}.sidebar-header{padding:12px 10px;background:var(--mac-header-grad);text-align:center;border-radius:14px;margin:16px 6px 0 10px}.sidebar-title{font-size:18px;font-weight:700;color:#fff;letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.sidebar-subtitle{font-size:13px;color:#ffffffeb;margin-top:6px}.sidebar-header-row{display:flex;align-items:center;justify-content:center;gap:10px}.sidebar-header-row .user-avatar{width:28px;height:28px;font-size:12px;flex-shrink:0}.sidebar-page-title{padding:8px 16px;font-size:13px;font-weight:600;color:var(--mac-accent, var(--mac-accent));border-bottom:1px solid var(--mac-border);margin:0 6px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-floating-home-btn{display:none;position:fixed;z-index:1001;width:52px;height:52px;border-radius:50%;background:#ffffffbf;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(0,0,0,.06);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f,inset 0 -1px #0000000a;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.25,.8,.25,1),box-shadow .25s,opacity .2s}.mobile-floating-home-btn.dragging{cursor:grabbing;transform:scale(1.15);box-shadow:0 16px 36px #0000002e,0 4px 10px #00000014;transition:transform .1s,box-shadow .1s}.mobile-floating-home-btn:active{transform:scale(.95)}.home-btn-inner{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#f8f8f8,#e8e8e8);border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0000000f}.home-btn-square{width:16px;height:16px;border-radius:4px;border:1.8px solid rgba(0,0,0,.45);background:transparent}.mobile-floating-home-btn span{display:none}.sidebar-tools{display:flex;align-items:center;justify-content:space-around;padding:8px 6px;margin:0 6px 0 10px;border-bottom:1px solid var(--mac-border);gap:4px}.sidebar-tool-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:16px;color:var(--mac-text-secondary);transition:all .2s ease;flex:1}.sidebar-tool-btn span{font-size:11px;font-weight:500}.sidebar-tool-btn:hover{background:#c9a9621a;color:var(--mac-accent)}.sidebar-logout-btn:hover{background:#e856561a;color:#e85656}.sidebar-theme-wrapper{position:relative;flex:1}.sidebar-theme-wrapper .sidebar-tool-btn{width:100%}.sidebar-theme-wrapper .theme-menu{position:absolute;top:100%;left:0;margin-top:4px;z-index:200;min-width:180px}.sidebar-menu{flex:1;padding:6px 6px 6px 8px;overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-start;gap:2px}.sidebar-section{margin-bottom:1px}.sidebar-section-title{font-size:11px;font-weight:600;color:var(--mac-text-secondary);text-transform:uppercase;letter-spacing:.06em;padding:6px 8px 3px}.sidebar-item{display:flex;align-items:center;padding:4px 10px;margin:1px 4px;cursor:pointer;color:var(--mac-text);font-size:14px;font-weight:600;letter-spacing:.12em;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:5px;position:relative;-webkit-user-select:none;user-select:none;transform-origin:left center;gap:6px}.sidebar-item:hover{background:#c9a9621f;transform:translate(2px)}.sidebar-item.active{color:var(--mac-accent)}.sidebar-item-icon{margin-right:8px;font-size:17px;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-item:hover .sidebar-item-icon{transform:scale(1.1) rotate(5deg)}.sidebar-arrow{margin-left:6px;font-size:9px;color:var(--mac-text-secondary);transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-arrow.expanded{transform:rotate(180deg)}.sidebar-dot-item{display:flex;align-items:center;padding:7px 8px;margin:2px 0;cursor:pointer;color:var(--mac-text);font-size:14px;font-weight:600;letter-spacing:.1em;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;position:relative;-webkit-user-select:none;user-select:none;gap:8px}.sidebar-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--mac-dot-inactive);background:#fbf8f5f2;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-sizing:border-box;font-size:14px}.sidebar-dot-icon{font-size:14px;line-height:1;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-dot-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-dot-item:hover{background:#c9a96214}.sidebar-dot-item:hover .sidebar-dot{border-color:var(--mac-accent);transform:scale(1.08)}.sidebar-dot-item:hover .sidebar-dot-icon{transform:scale(1.05)}.sidebar-dot-item.active .sidebar-dot{border-color:var(--mac-dot);background:var(--mac-dot);box-shadow:0 0 0 3px #7e9a7826}.sidebar-dot-item.active .sidebar-dot-icon{filter:brightness(2.2)}.sidebar-dot-item.active{color:var(--mac-accent)}.sidebar-dot-item.expanded .sidebar-dot{border-color:var(--mac-dot);background:var(--mac-dot);box-shadow:0 0 0 3px #7e9a782e;transform:scale(1.05)}.sidebar-dot-item.expanded .sidebar-dot-icon{filter:brightness(2.2)}.sidebar-dot-item.expanded{color:var(--mac-accent)}.sidebar-submenu{overflow:hidden;position:relative;max-height:0;opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);background:transparent;border-radius:5px;margin:0 4px}.sidebar-submenu.open{max-height:600px;opacity:1;margin-top:2px;margin-bottom:1px}.layout-container.sidebar-collapsed .sidebar{width:64px;overflow:visible;transition:width .25s cubic-bezier(.4,0,.2,1)}.sidebar{transition:width .25s cubic-bezier(.4,0,.2,1)}.layout-container.sidebar-collapsed .main-content{margin-left:64px;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.main-content{transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.layout-container.sidebar-collapsed .sidebar-header{padding:12px 4px;margin:16px 6px 0}.layout-container.sidebar-collapsed .sidebar-title,.layout-container.sidebar-collapsed .sidebar-subtitle{display:none}.layout-container.sidebar-collapsed .sidebar-dot-item{justify-content:center;padding:7px 0;gap:0}.layout-container.sidebar-collapsed .sidebar-dot-label{display:none}.layout-container.sidebar-collapsed .sidebar-submenu{display:none;position:absolute;left:66px;top:-6px;min-width:150px;max-height:none;opacity:1;background:var(--mac-sidebar-bg, #fff);border:1px solid var(--mac-border);border-radius:10px;box-shadow:0 8px 24px #00000024;padding:6px;margin:0;z-index:200}.layout-container.sidebar-collapsed .sidebar-submenu:before{display:none}.layout-container.sidebar-collapsed .sidebar-submenu.popup-open{display:block}.layout-container.sidebar-collapsed .sidebar-subitem{padding:8px 14px;white-space:nowrap;letter-spacing:.05em}.layout-container.sidebar-collapsed .sidebar-subitem:before{display:none}.layout-container.sidebar-collapsed .sidebar-section{position:relative}.layout-container.sidebar-collapsed .sidebar-menu{overflow:visible;padding:6px}.sidebar-collapse-btn{position:absolute;right:-13px;top:96px;width:26px;height:26px;border-radius:50%;border:1px solid var(--mac-border);background:var(--mac-sidebar-bg, #fff);color:var(--mac-text-secondary, #888);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;z-index:120;box-shadow:0 2px 6px #0000001f;transition:all .2s ease;padding:0}.sidebar-collapse-btn:hover{background:var(--mac-accent, #b08968);color:#fff}.sidebar-submenu:before{content:"";position:absolute;left:10px;top:4px;bottom:4px;width:2px;background:var(--mac-line);border-radius:1px;transition:background .3s ease}.sidebar-subitem{display:flex;align-items:center;padding:5px 8px 5px 30px;font-size:13px;color:var(--mac-text);opacity:.9;margin:1px 0;cursor:pointer;border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;transform-origin:left center;letter-spacing:.18em}.sidebar-subitem:before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%) scale(1);width:7px;height:7px;border-radius:50%;border:2px solid var(--mac-dot-inactive);background:#fbf8f5f2;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.sidebar-subitem:hover{background:#c9a9621f;transform:translate(2px)}.sidebar-subitem:hover:before{border-color:var(--mac-accent);transform:translateY(-50%) scale(1.1)}.sidebar-subitem.active{background:#c9a9622e;color:var(--mac-accent);font-weight:600;transform:translate(2px)}.sidebar-subitem.active:before{border-color:var(--mac-dot);background:var(--mac-dot);transform:translateY(-50%) scale(1.15);box-shadow:0 0 0 2px #c9a9621f}.admin-content-header{background:var(--mac-header-grad);color:#fff;padding:16px 24px 14px;margin-bottom:12px;border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0}.admin-content-header-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.admin-content-header-title{font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-content-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-content-header-btn{padding:8px 14px;font-size:13px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:20px;color:#fff;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s ease;white-space:nowrap}.admin-content-header-btn:hover{background:#ffffff52}.admin-content-header-btn:active{transform:scale(.96)}.admin-content-header-logout{background:#fff3;border-color:#ffffff4d}.admin-content-header-logout:hover{background:#ffffff52}.admin-content-header-avatar{width:40px;height:40px;border-radius:50%;background:#ffffff40;border:2px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;cursor:pointer;transition:all .15s ease}.admin-content-header-avatar:hover{background:#ffffff61}.admin-content-header-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--mac-card);border-radius:12px;box-shadow:0 8px 30px #0000002e;border:1px solid var(--mac-border);overflow:hidden;z-index:1000;min-width:160px}.avatar-dropdown-header{padding:10px 14px;border-bottom:1px solid var(--mac-border)}.avatar-dropdown-name{font-weight:600;color:var(--mac-text);font-size:13px}.avatar-dropdown-type{color:var(--mac-text-secondary);font-size:11px;margin-top:2px}.avatar-dropdown-item{padding:10px 14px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--mac-text);transition:background .12s ease}.avatar-dropdown-item:hover{background:var(--mac-hover)}.avatar-dropdown-danger{color:#e74c3c;border-top:1px solid var(--mac-border)}.avatar-dropdown-danger:hover{background:#e74c3c14}.main-content{flex:1;margin-left:176px;display:flex;flex-direction:column;padding:16px;overflow:hidden}.top-section{flex-shrink:0;margin-bottom:16px}.bottom-section{flex:1;overflow-y:auto;min-height:0}.top-bar{min-height:52px;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--mac-border);border-radius:12px;display:flex;align-items:center;padding:12px 24px;justify-content:space-between;z-index:90;flex-wrap:wrap;gap:16px}.top-bar-right{display:flex;align-items:center;gap:16px;flex-wrap:nowrap}.toolbar-buttons{display:flex;gap:8px}.toolbar-btn{padding:6px 14px;border:1px solid var(--mac-border);background:#fff;border-radius:6px;font-size:13px;cursor:pointer;color:var(--mac-text);transition:all .2s ease}.toolbar-btn:hover{background:#c9a96214;border-color:var(--mac-accent);color:var(--mac-accent)}.action-buttons{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.action-btn{padding:6px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.ai-btn{padding:6px 14px;font-size:13px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:none}.ai-btn:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190)}.logout-btn{background:#fff;color:#e85656;border:1px solid rgba(232,86,86,.3)}.logout-btn:hover{background:#e8565633;border-color:#e8565666}.fixed-info-section{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}.info-card{background:#fff;border:1px solid var(--mac-border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:14px;transition:all .2s ease}.info-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c9a96226}.info-card-icon{font-size:28px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#c9a9621f;border-radius:10px}.info-card-content{flex:1}.info-card-value{font-size:22px;font-weight:700;color:var(--mac-text);line-height:1.2}.info-card-label{font-size:13px;color:var(--mac-text-secondary);margin-top:4px}.top-bar-title{font-size:14px;font-weight:600;color:var(--mac-text);letter-spacing:-.01em}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--mac-accent),var(--mac-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 4px #c9a9624d}.user-avatar:hover{transform:scale(1.08);box-shadow:0 2px 10px #c9a96266}.content-card{background:var(--zen-card, #FFFFFF);color:var(--zen-text, #2B2A26);border-radius:12px;box-shadow:0 1px 4px #0000000d;padding:24px;border:1px solid var(--zen-border, var(--mac-border))}.content-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--zen-border, var(--mac-border))}.content-card-title{font-size:16px;font-weight:600;color:var(--zen-text, var(--mac-text));letter-spacing:-.01em}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:12px 16px;font-weight:600;color:var(--zen-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--zen-border);background:var(--zen-bg-soft)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--zen-border);color:var(--zen-text);white-space:nowrap;vertical-align:middle!important}.data-table td:last-child{white-space:normal;min-width:180px}.data-table td:last-child button{margin-right:10px}.data-table td:last-child button:last-child{margin-right:0}.teachers-table th,.teachers-table td{padding-left:8px;padding-right:8px}.teachers-table td:last-child{min-width:0}.teachers-table td:last-child button{margin-right:0}.data-table.table-compact th{padding:6px 8px;font-size:11px}.data-table.table-compact td{padding:6px 8px;font-size:12px}.data-table.table-compact td:last-child{min-width:100px}.data-table.table-compact .btn-view,.data-table.table-compact .btn-edit,.data-table.table-compact .btn-delete{padding:2px 6px;font-size:11px;margin-right:2px}.data-table tr:hover{background:var(--zen-bg-soft)}.online-course-table th.course-name-col{width:220px;min-width:150px;max-width:260px}.online-course-table td.course-name-cell{white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.45;min-width:150px;max-width:260px}.btn{padding:8px 16px;border:none;border-radius:var(--mac-radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-inline{display:inline-flex!important;flex:none!important}.btn-group-inline{display:flex!important;gap:8px!important;justify-content:space-between!important}.btn-group-inline .btn{flex:1!important;white-space:nowrap!important;padding:8px 12px!important}.btn-primary{background:var(--mac-accent)!important;color:#fff!important}.btn-primary:hover{background:var(--mac-accent-hover)!important;box-shadow:0 2px 8px #c9a96259}.btn-secondary{background:#c9a96214!important;color:var(--mac-text)!important}.btn-secondary:hover{background:#c9a96226!important}.btn-link{background:none;color:var(--mac-accent);padding:8px}.btn-link:hover{color:var(--mac-accent-hover)}.btn-danger{color:#e85656;background:#e8565614}.btn-icon{width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}.btn-icon:hover{opacity:.8;transform:scale(1.05)}.btn-view{padding:3px 8px;border-radius:6px;background-color:#5ac8fa;color:#fff;border:none;cursor:pointer;font-size:12px;margin-right:4px;transition:all .2s ease}.btn-view:hover{opacity:.9}.btn-edit{padding:3px 8px;border-radius:6px;background-color:#007aff;color:#fff;border:none;cursor:pointer;font-size:12px;margin-right:4px;transition:all .2s ease}.btn-edit:hover{opacity:.9}.btn-delete{padding:3px 8px;border-radius:6px;background-color:#ff3b30;color:#fff;border:none;cursor:pointer;font-size:12px;transition:all .2s ease}.btn-delete:hover{opacity:.9}.table-compact .btn-view,.table-compact .btn-edit,.table-compact .btn-delete,.table-compact .btn-resolve,.table-compact .btn-restore{padding:2px 6px;font-size:11px;margin-right:2px}.btn-resolve{padding:3px 8px;border-radius:6px;background-color:#34c759;color:#fff;border:none;cursor:pointer;font-size:12px;margin-right:4px;transition:all .2s ease}.btn-resolve:hover{opacity:.9}.btn-restore{padding:3px 8px;border-radius:6px;background-color:#34c759;color:#fff;border:none;cursor:pointer;font-size:12px;margin-right:4px;transition:all .2s ease}.btn-restore:hover{opacity:.9}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--mac-text);margin-bottom:8px}.form-input{width:100%;padding:10px 14px;border:1px solid var(--mac-border);border-radius:var(--mac-radius-sm);font-size:14px}.form-input:focus{outline:none;border-color:var(--mac-accent)}.inc-modal-field:focus{outline:none;border-color:#6b8e7f!important;box-shadow:0 0 0 3px #6b8e7f2e!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--mac-sidebar);border-radius:var(--mac-radius);padding:24px;width:480px;max-width:90%;box-shadow:0 25px 50px -12px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.modal-title{font-size:16px;font-weight:600;color:var(--mac-text)}.modal-close{background:#0000001a;border:none;border-radius:50%;width:28px;height:28px;font-size:18px;cursor:pointer;color:var(--mac-text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#0003;color:var(--mac-text)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media (min-width: 769px){.modal-overlay{padding:20px}.modal-content{max-height:90vh;display:flex;flex-direction:column}.modal-header{flex-shrink:0}.modal-body{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto}.modal-content>form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0}.modal-content>form>.modal-body{flex:1 1 auto;min-height:0}.modal-content>form>.modal-actions{flex-shrink:0}.modal-actions,.modal-footer{flex-shrink:0}}@media (min-width: 769px){.modal-content:not(.mk-detail-modal):not(.salary-detail-modal):not(.student-detail-modal):not(.student-view-modal):not(.student-edit-modal):not(.student-modal){background:var(--mac-card);border:1px solid var(--mac-border);box-shadow:0 24px 48px -12px #2b2a2638;overflow:hidden}.modal-content:not(.mk-detail-modal):not(.salary-detail-modal):not(.student-detail-modal):not(.student-view-modal):not(.student-edit-modal):not(.student-modal)>.modal-header{margin:-24px -24px 16px;padding:15px 24px;border-bottom:1px solid var(--mac-border);background:var(--mac-card)}.modal-title{font-size:16px;font-weight:700}.modal-close{background:var(--mac-bg-soft);color:var(--mac-text-secondary)}.modal-close:hover{background:var(--mac-line);color:var(--mac-text)}.modal-content:not(.mk-detail-modal):not(.salary-detail-modal):not(.student-detail-modal):not(.student-view-modal):not(.student-edit-modal):not(.student-modal)>form{margin:0 -24px -24px;padding:0 24px 24px}.modal-content:not(.mk-detail-modal):not(.salary-detail-modal):not(.student-detail-modal):not(.student-view-modal):not(.student-edit-modal):not(.student-modal)>.modal-actions,.modal-content:not(.mk-detail-modal):not(.salary-detail-modal):not(.student-detail-modal):not(.student-view-modal):not(.student-edit-modal):not(.student-modal)>form>.modal-actions,.modal-content:not(.mk-detail-modal):not(.salary-detail-modal):not(.student-detail-modal):not(.student-view-modal):not(.student-edit-modal):not(.student-modal)>.modal-footer,.modal-content:not(.mk-detail-modal):not(.salary-detail-modal):not(.student-detail-modal):not(.student-view-modal):not(.student-edit-modal):not(.student-modal)>form>.modal-footer{margin:0 -24px -24px;padding:12px 24px;border-top:1px solid var(--mac-border);background:var(--mac-bg-soft)}.modal-footer{display:flex;justify-content:flex-end;gap:12px}.modal-content .detail-section{background:var(--mac-bg-soft);border-color:var(--mac-border);box-shadow:none}}.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=color]),.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body select,.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body textarea{width:100%;padding:8px 12px;font-size:14px;font-family:inherit;color:var(--mac-text);background-color:var(--mac-card);border:1px solid var(--mac-border);border-radius:8px;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=color]):focus,.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body select:focus,.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body textarea:focus{outline:none;border-color:var(--mac-accent);box-shadow:0 0 0 3px #7e9a7826}.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body input::placeholder,.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body textarea::placeholder{color:var(--mac-text-light)}.modal-content:not(.student-edit-modal):not(.student-view-modal) .modal-body label{display:block;font-size:13px;font-weight:600;color:var(--mac-text);margin-bottom:6px}.modal-content .modal-body .form-row{display:flex;flex-wrap:wrap;gap:12px 16px;margin-bottom:4px}.modal-content .modal-body .form-row .form-item{flex:1 1 220px;min-width:0;margin-bottom:12px}.modal-content .modal-body .form-row .form-item.full-width{flex-basis:100%}.modal-actions button,.modal-footer button{min-width:88px;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--mac-border);background:var(--mac-card);color:var(--mac-text);transition:all .2s ease}.modal-actions button:hover,.modal-footer button:hover{border-color:var(--mac-accent);color:var(--mac-accent)}.salary-detail-modal{width:780px;max-width:94vw;max-height:90vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.salary-detail-modal .modal-header{padding:12px 22px;margin-bottom:0;border-bottom:1px solid var(--mac-border);flex-shrink:0}.salary-detail-body{padding:14px 20px!important;overflow-y:auto;flex:1 1 auto;min-height:0}.salary-detail-modal .modal-actions{margin:0;padding:10px 22px;border-top:1px solid var(--mac-border);flex-shrink:0;background:var(--mac-sidebar)}.sd-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.sd-info-card{background:var(--mac-bg-soft);border-radius:10px;padding:8px 12px;min-width:0}.sd-info-label{font-size:11px;color:var(--mac-text-secondary);margin-bottom:3px;white-space:nowrap}.sd-info-value{font-size:14px;font-weight:600;color:var(--mac-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:10px;align-items:start}.sd-panel{background:var(--mac-bg-soft);border-radius:10px;padding:10px 12px}.sd-panel-title{font-size:13px;font-weight:600;color:var(--mac-text);margin-bottom:6px}.sd-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 14px}.sd-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px 10px}.sd-cell{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;font-size:12.5px;min-width:0}.sd-cell-label{color:var(--mac-text-secondary);white-space:nowrap}.sd-cell-value{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.sd-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 0;font-size:13px;color:var(--mac-text)}.sd-line-total{margin-top:4px;padding-top:6px;border-top:1px dashed var(--mac-border);font-weight:700;font-size:13.5px}.sd-line-income{color:var(--mac-success, #27ae60)}.sd-line-deduct{color:var(--mac-danger, #c0392b)}.sd-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:5px}.sd-bar-label{width:56px;flex-shrink:0;font-size:12px;color:var(--mac-text-secondary);white-space:nowrap}.sd-bar-track{flex:1;min-width:0;height:14px;background:var(--mac-border);border-radius:7px;overflow:hidden}.sd-bar-fill{height:100%;border-radius:7px;transition:width .3s;min-width:2px}.sd-bar-amount{width:78px;flex-shrink:0;text-align:right;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.sd-netpay{margin-top:10px;padding:10px 18px;border-radius:12px;background:linear-gradient(135deg,var(--mac-accent),var(--mac-accent-warm));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px}.sd-netpay-amount{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 720px){.salary-detail-modal{width:96vw;max-height:92vh}.sd-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-main-grid{grid-template-columns:minmax(0,1fr)}.sd-netpay-amount{font-size:20px}}@media (max-width: 480px){.sd-grid3{grid-template-columns:minmax(0,1fr)}}.course-detail-horizontal{display:flex;flex-direction:column;gap:12px}.detail-header-card{background:linear-gradient(135deg,#4a5568,#2d3748);border-radius:12px;padding:14px;color:#e2e8f0;box-shadow:0 6px 20px #0000004d}.detail-header-card>div:first-child{margin-bottom:0}.detail-tag{display:inline-block;padding:4px 10px;background:#ffffff26;border-radius:12px;font-size:11px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.detail-stats-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.15)}.stat-item{flex:1;min-width:90px;text-align:center}.stat-label{font-size:11px;opacity:.8;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;color:#a0aec0}.stat-value{font-size:12px;font-weight:600;margin-top:4px;color:#f7fafc}.detail-section{background:#fff;border-radius:10px;padding:14px;border:1px solid #e8e8e8;box-shadow:0 2px 6px #0000000a}.section-title-bar{font-size:12px;font-weight:600;color:#333;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid #f0f0f0;display:flex;align-items:center;gap:6px}.progress-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.progress-stat-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;padding:10px;text-align:center;border:1px solid #dee2e6;transition:transform .2s ease}.progress-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.progress-stat-card.completed{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745}.progress-stat-card.remaining{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#dc3545}.progress-stat-card.total{background:linear-gradient(135deg,#cce5ff,#b8daff);border-color:#007bff}.progress-stat-label{font-size:11px;color:#666;margin-bottom:4px;font-weight:500}.progress-stat-value{font-size:12px;font-weight:600;color:#333;margin-bottom:4px}.progress-stat-unit{font-size:11px;color:#999;text-transform:uppercase}.progress-bar-large{height:12px;background:#e9ecef;border-radius:6px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-fill-large{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;transition:width .3s ease;box-shadow:0 0 10px #667eea80}.info-row-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.info-label{font-size:13px;color:#666;font-weight:500}.info-value{font-size:12px;color:#333;font-weight:600}.info-value.line-through{text-decoration:line-through;color:#999}.info-value.price{color:#e74c3c;font-size:12px}.info-value.add{color:#27ae60;font-size:12px}.info-value.deduct{color:#e74c3c;font-size:12px}.notes-content{padding:16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;font-size:14px;line-height:1.6;color:#555;min-height:60px}.detail-footer{display:flex;gap:8px;align-items:center;padding:12px 16px;background:#f8f9fa;border-radius:8px;font-size:13px}.footer-label{color:#999;font-weight:500}.footer-value{color:#666}.stat-card{background:#fff;border-radius:var(--mac-radius);padding:22px;box-shadow:0 1px 4px #0000000d;border:1px solid var(--mac-border);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c9a96226}.stat-label{font-size:13px;color:var(--mac-text-secondary);margin-top:6px}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;color:var(--mac-text-secondary)}.breadcrumb-item{cursor:pointer}.breadcrumb-item.active{color:var(--mac-text)}.search-bar{display:flex;align-items:center;gap:12px}.search-input{padding:8px 14px;border:1px solid var(--mac-border);border-radius:var(--mac-radius-sm);font-size:13px;width:200px}.search-input:focus{outline:none;border-color:var(--mac-accent)}.top-bar-left{display:flex;align-items:center;gap:12px}.mobile-menu-btn{display:none;background:#c9a9621a;border:none;border-radius:8px;width:40px;height:40px;font-size:20px;cursor:pointer;transition:all .2s ease}.mobile-menu-btn:hover{background:#c9a96233}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-overlay.visible{opacity:1;visibility:visible}@media (max-width: 1024px){.sidebar{width:200px}.main-content{margin-left:200px}.fixed-info-section{grid-template-columns:repeat(2,1fr)}.content-card-header{flex-direction:column;gap:12px;align-items:flex-start}.search-bar{width:100%}.search-input{width:100%;flex:1}}@media (min-width: 769px){.teacher-sidebar-tools{display:none!important}}@media (max-width: 768px){.layout-container{flex-wrap:wrap}.mobile-app-header{flex:0 0 100%!important;width:100%!important;max-width:100%!important}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.mobile-floating-home-btn{display:flex}.sidebar{position:fixed;left:-100%;top:0;bottom:0;width:min(88vw,400px);z-index:1000;transition:left .4s cubic-bezier(.4,0,.2,1);box-shadow:2px 0 12px #00000026}.sidebar.visible{left:0}.sidebar-overlay{display:block}.sidebar.visible~.mobile-floating-home-btn{opacity:0;pointer-events:none;transform:scale(.6)}.sidebar-header{position:relative;margin:12px 12px 0;padding:14px 10px;flex-shrink:0}.sidebar-close-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;border-radius:50%;background:#ffffff38;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.sidebar-close-btn:active{background:#fff6}.sidebar-menu{padding:10px 10px 16px}.sidebar-section{background:#ffffff8c;border:1px solid var(--mac-border);border-radius:12px;padding:8px 8px 10px;margin-bottom:10px}.sidebar-dot-item{padding:4px 4px 8px;margin:0 0 2px;letter-spacing:.06em}.sidebar-submenu,.sidebar-submenu.open{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:none;opacity:1;overflow:visible;margin:0;padding:0}.sidebar-submenu:before{display:none}.sidebar-subitem{padding:9px 6px;margin:0;justify-content:center;text-align:center;letter-spacing:.04em;font-size:13px;background:var(--mac-sidebar);border:1px solid var(--mac-border);border-radius:10px;line-height:1.3;min-width:0}.sidebar-subitem:before{display:none}.sidebar-subitem:hover{transform:none;background:#c9a9621a}.sidebar-subitem.active{transform:none;background:#7e9a7829;border-color:var(--mac-dot)}.sidebar-subitem>span{margin-left:0!important;position:absolute;top:-6px;right:-4px}.sidebar-section:not(:has(.sidebar-submenu)){background:transparent;border:none;padding:0}.sidebar-section:not(:has(.sidebar-submenu))>.sidebar-dot-item{background:var(--mac-sidebar);border:1px solid var(--mac-border);border-radius:10px;margin:0;padding:10px 12px}.main-content{margin-left:0;padding:12px}.fixed-info-section{grid-template-columns:repeat(2,1fr);gap:12px}.info-card{padding:16px}.info-card-icon{font-size:24px;width:44px;height:44px}.info-card-value{font-size:20px}.top-bar{padding:12px 16px;border-radius:12px;flex-wrap:wrap;gap:12px}.top-bar-right{width:100%;justify-content:space-between;flex-wrap:wrap;gap:12px}.toolbar-buttons{flex-wrap:wrap;gap:8px}.action-buttons{gap:8px;flex-wrap:wrap}.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.content-card{padding:16px}.btn{padding:10px 14px;font-size:14px}.modal-content{width:95%;max-width:100%;margin:20px;padding:20px}.stat-card{padding:16px}.stat-card+.stat-card{margin-top:12px}.sidebar-tools,.sidebar-page-title{margin-left:6px}.sidebar-tools .sidebar-tool-btn span{font-size:12px}.top-bar{padding:8px 16px;min-height:44px}.top-bar-title{font-size:15px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}[style*="grid-template-columns: repeat(3"]:not([data-grid-keep]),[style*="grid-template-columns: repeat(4"]:not([data-grid-keep]),[style*="grid-template-columns: repeat(5"]:not([data-grid-keep]),[style*="grid-template-columns: repeat(6"]:not([data-grid-keep]),[style*="grid-template-columns: repeat(7"]:not([data-grid-keep]),[style*="grid-template-columns: repeat(8"]:not([data-grid-keep]),[style*="grid-template-columns: 1fr 1fr 1fr"]:not([data-grid-keep]),[style*="grid-template-columns: 1fr 1fr 1fr 1fr"]:not([data-grid-keep]){grid-template-columns:repeat(2,1fr)!important}[style*="position: fixed"][style*=width]{max-width:95vw!important}[style*="font-size: 48px"],[style*="font-size: 42px"],[style*="font-size: 40px"],[style*="font-size: 36px"],[style*="font-size: 32px"]{font-size:24px!important}[style*="font-size: 28px"]{font-size:20px!important}[style*="flex-direction: row"]{flex-wrap:wrap!important}.sidebar-header{margin-left:6px!important}}@media (max-width: 640px){.fixed-info-section{grid-template-columns:1fr}.info-card{padding:20px}.top-bar{padding:12px}.top-bar-title{font-size:15px}.toolbar-buttons{display:none}.action-buttons{gap:8px}.action-btn{padding:8px 12px;font-size:12px}.ai-btn span,.logout-btn span{display:none}.breadcrumb{flex-wrap:wrap;gap:8px}.search-bar{flex-direction:column;width:100%}.search-bar .btn{width:100%}.data-table thead{display:none}.data-table tr{display:block;margin-bottom:12px;border:1px solid var(--mac-border);border-radius:8px;padding:12px}.data-table td{display:block;padding:6px 0;border:none}.online-course-table td.course-name-cell{max-width:none;min-width:0}.data-table td:before{content:attr(data-label);font-weight:600;color:var(--mac-text-secondary);margin-right:8px;display:inline-block}.data-table td:last-child{padding-top:12px}.data-table td:last-child .btn{width:100%;margin-bottom:8px}.data-table td:last-child .btn:last-child{margin-bottom:0}.form-group{margin-bottom:16px}.form-input{font-size:16px;padding:12px 14px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}@media (max-width: 480px){.sidebar{width:230px;left:-240px}.sidebar-header{padding:20px 16px;margin-left:6px}.sidebar-menu{padding:10px}.sidebar-item,.sidebar-dot-item{padding:10px 12px}.sidebar-dot{width:34px;height:34px}.sidebar-dot-icon{font-size:17px}.sidebar-subitem{padding:8px 12px 8px 44px}.main-content{padding:8px}.top-section{margin-bottom:12px}.user-avatar{width:36px;height:36px;font-size:14px}.info-card{padding:14px}.info-card-icon{font-size:20px;width:38px;height:38px}.info-card-value{font-size:18px}.content-card{padding:14px}.content-card-header{margin-bottom:16px}.content-card-title{font-size:16px}[style*="grid-template-columns: repeat(2"]:not([data-grid-keep]),[style*="grid-template-columns: 1fr 1fr"]:not([data-grid-keep]),[style*="grid-template-columns: 60px"]:not([data-grid-keep]){grid-template-columns:1fr!important}}@media (min-width: 1440px){.sidebar{width:200px}.sidebar-header{margin-top:20px}.main-content{margin-left:200px;padding:20px}.fixed-info-section{grid-template-columns:repeat(4,1fr);gap:20px}.info-card{padding:24px}.info-card-value{font-size:26px}.content-card{padding:28px}}@media (min-width: 1920px){.main-content{max-width:1600px;margin-left:calc(200px + (100vw - 1800px)/2)}.fixed-info-section{gap:24px}.info-card{padding:28px}.info-card-value{font-size:32px}}@media (max-width: 768px){.modal-content[style*="width: 883px"],.modal-content[style*="width: 698px"],.modal-content[style*="width: 800px"]{width:95vw!important;max-width:95vw!important;max-height:95vh!important;margin:10px!important;padding:16px!important}.course-detail-horizontal{gap:10px}.detail-header-card{padding:12px}.detail-header-card>div:first-child{flex-direction:column!important;gap:12px}.detail-header-card [style*="fontSize: 20px"]{font-size:16px!important}.detail-header-card [style*="fontSize: 28px"]{font-size:22px!important}.detail-section{padding:12px}.section-title-bar{font-size:13px;margin-bottom:8px;padding-bottom:6px}.info-row-grid[style*="grid-template-columns: repeat(3"],.info-row-grid[style*="grid-template-columns: repeat(5"]{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}div[style*="grid-template-columns: repeat(2"][style*="gap: 12px"][style*=marginBottom]{grid-template-columns:1fr!important;gap:8px!important}.info-item{padding:8px 10px!important;min-height:44px}.info-item span{font-size:11px!important}.info-item input[type=number],.info-item select{width:70px!important;min-width:60px!important;font-size:12px!important}.info-item input[type=date]{font-size:12px!important;max-width:130px}.modal-actions{flex-direction:column-reverse;gap:10px;margin-top:12px}.modal-actions .btn{width:100%;padding:12px;font-size:14px}.detail-section div[style*="fontSize: 11px"],.detail-section div[style*="fontSize: 12px"]{font-size:11px!important;line-height:1.5!important;padding:6px 8px!important}}@media (max-width: 480px){.modal-content[style*="width: 883px"],.modal-content[style*="width: 698px"],.modal-content[style*="width: 800px"],.modal-content[style*="width: 600px"],.modal-content[style*="width: 500px"]{width:100vw!important;max-width:100vw!important;max-height:100vh!important;height:100vh!important;margin:0!important;border-radius:0!important;padding:12px!important}.modal-header{padding:8px 0;margin-bottom:8px}.modal-title{font-size:15px}.modal-body{padding:0!important}.detail-header-card{padding:10px;border-radius:8px}.detail-header-card [style*="fontSize: 20px"]{font-size:15px!important;margin-bottom:6px!important}.detail-header-card [style*="fontSize: 28px"]{font-size:20px!important}.detail-tag{font-size:10px;padding:3px 8px}.detail-section{padding:10px;border-radius:8px}.section-title-bar{font-size:12px;margin-bottom:8px}.info-row-grid[style*=grid-template-columns],div[style*="grid-template-columns: repeat(2"][style*="gap: 12px"]{grid-template-columns:1fr!important;gap:6px!important}.info-item{flex-direction:column!important;align-items:flex-start!important;padding:10px!important;gap:6px}.info-item span{font-size:11px!important;color:#6c757d!important;width:100%}.info-item input,.info-item select{width:100%!important;min-width:0!important;text-align:left!important;font-size:14px!important}.info-item input[type=date]{max-width:none;width:100%!important}.info-item input[type=number]{width:100%!important;min-width:0!important;text-align:left!important}.detail-header-card [style*="textAlign: right"]{text-align:left!important;width:100%}.form-group{margin-bottom:12px}.form-input,.form-select{font-size:14px!important;padding:10px 12px!important}.modal-actions{position:sticky;bottom:0;background:#fff;padding:10px 0;border-top:1px solid #eee;flex-direction:column-reverse;gap:8px;margin-top:10px}.modal-actions .btn{width:100%;padding:12px;font-size:15px}.weekly-schedule-picker,div[style*="width: 100%"][style*="display: flex"][style*="gap: 6"]{padding:6px}div[style*="display: flex"][style*="gap: 6"][style*="flex-wrap: wrap"]>div,div[style*="display: flex"][style*="gap: 6"][style*="flexWrap: wrap"]>div{width:36px;height:36px;font-size:13px}div[style*="display: flex"][style*="align-items: center"][style*="gap: 8"][style*="marginBottom: 10"]{flex-wrap:wrap;gap:6px}div[style*="display: flex"][style*="align-items: center"][style*="gap: 8"][style*="marginBottom: 10"]>span{font-size:12px}div[style*="maxHeight: 200"][style*="overflowY: auto"]{max-height:150px!important}div[style*="background: var(--zen-bg-soft)"][style*="borderRadius: 8"][style*="border: 1px solid #d9d9d9"]{padding:8px 10px!important}}@media (max-width: 1024px){.info-row-grid[style*="grid-template-columns: repeat(5"]{grid-template-columns:repeat(3,1fr)!important}}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-pending{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.status-processing{background:#cce5ff;color:#004085;border:1px solid #b8daff}.status-replied{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-resolved{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.status-closed{background:#f8f9fa;color:#6c757d;border:1px solid #e9ecef}.detail-row{display:flex;padding:12px 0;border-bottom:1px solid var(--mac-border)}.detail-row.full-width{flex-direction:column}.detail-label{font-weight:600;color:var(--mac-text-secondary);min-width:100px;font-size:13px}.detail-content{flex:1;font-size:14px;line-height:1.6;padding-top:4px}.reply-content{background:#f8f9fa;padding:12px;border-radius:8px;border-left:4px solid var(--mac-accent)}.reply-section{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px}.reply-section label{display:block;font-weight:600;margin-bottom:8px}.reply-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#0000000d}*::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#0000004d}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) rgba(0,0,0,.05)}@media (hover: none) and (pointer: coarse){.btn,.sidebar-item,.sidebar-dot-item,.sidebar-subitem,.toolbar-btn,.action-btn{min-height:44px;min-width:44px}select,input[type=text],input[type=email],input[type=password]{font-size:16px}}.theme-switcher{position:relative}.theme-menu{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid var(--mac-border);border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:1000;min-width:240px;overflow:hidden}.theme-menu-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--mac-border);background:#c9a96208}.theme-menu-header span{font-size:14px;font-weight:600;color:var(--mac-text)}.theme-reset-btn{padding:6px 12px;border:1px solid var(--mac-border);background:#fff;border-radius:6px;font-size:12px;color:var(--mac-text-secondary);cursor:pointer;transition:all .2s ease}.theme-reset-btn:hover{border-color:var(--mac-accent);color:var(--mac-accent);background:#c9a96214}.theme-options{padding:8px;max-height:320px;overflow-y:auto}.theme-option{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:4px}.theme-option:last-child{margin-bottom:0}.theme-option:hover{background:#c9a96214}.theme-option.active{background:#c9a9621f}.theme-preview{width:24px;height:24px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #0000001a}.theme-option span{font-size:14px;color:var(--mac-text)}.theme-check{margin-left:auto;color:var(--mac-accent);font-size:16px;font-weight:700}@media print{.sidebar,.top-bar,.toolbar-buttons,.action-buttons,.theme-switcher,.breadcrumb,.user-avatar{display:none!important}.main-content{margin-left:0!important;padding:0!important}.content-card{border:none!important;box-shadow:none!important}}.search-area{display:flex;align-items:center;gap:20px;margin-bottom:20px;padding:16px;background:#c9a96208;border-radius:12px;border:1px solid var(--mac-border)}.search-section{background:#c9a96208;border-radius:12px;border:1px solid var(--mac-border);padding:16px;margin-bottom:20px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.search-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;flex:1;min-width:0}.search-item{display:flex;flex-direction:column;gap:6px}.search-item label{font-size:13px;font-weight:600;color:var(--mac-text)}.search-item input,.search-item select{padding:8px 12px;border:1px solid var(--mac-border);border-radius:8px;font-size:13px;background:#fff;min-width:150px}.search-item input:focus,.search-item select:focus{outline:none;border-color:var(--mac-accent)}.search-actions{display:flex;gap:12px;justify-content:flex-end;flex-shrink:0}.search-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-select{padding:8px 14px;border:1px solid var(--mac-border);border-radius:8px;font-size:13px;background:#fff;cursor:pointer;min-width:100px}.search-select:focus{outline:none;border-color:var(--mac-accent)}.search-input-small{padding:8px 14px;border:1px solid var(--mac-border);border-radius:8px;font-size:13px;width:200px;background:#fff}.search-input-small:focus{outline:none;border-color:var(--mac-accent)}.complaints-filter-bar{gap:10px;margin-bottom:16px;flex-wrap:wrap}.receipt-filter-bar{gap:10px;flex-wrap:wrap}.receipt-filter-bar .search-input-small{width:auto;min-width:130px;flex:0 1 auto}.receipt-filter-bar .rd-keyword{flex:1 1 180px;min-width:180px;max-width:280px}.receipt-filter-bar .btn{flex-shrink:0;white-space:nowrap}.complaints-filter-bar .search-input-small{width:auto;min-width:132px}.complaints-filter-bar .fb-search-keyword{flex:1 1 200px;min-width:200px;max-width:300px}.complaints-filter-bar .fb-date-input{min-width:140px}.fb-date-sep{font-size:13px;color:var(--mac-text-secondary)}.complaints-meta{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:13px;color:var(--mac-text-secondary)}.complaints-meta strong{color:var(--mac-accent);font-weight:600}.complaints-table .col-type{width:118px;white-space:nowrap}.complaints-table .col-title{min-width:240px;width:auto}.complaints-table .col-student{width:150px}.complaints-table .col-time{width:150px;white-space:nowrap}.complaints-table .col-reply{width:120px;white-space:nowrap}.complaints-table .col-status{width:96px;white-space:nowrap}.complaints-table .col-actions{width:168px;white-space:nowrap}.fb-title-text{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-content-preview{margin-top:3px;font-size:12px;color:var(--mac-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-student-name{font-weight:500}.fb-student-phone{font-size:12px;margin-top:2px}.fb-type-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:14px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid transparent;line-height:1.5}.fb-type-praise{background:var(--mac-success-bg);color:var(--mac-success);border-color:var(--mac-success-border)}.fb-type-suggestion{background:var(--mac-info-bg);color:var(--mac-info);border-color:var(--mac-info-border)}.fb-type-complaint{background:var(--mac-danger-bg);color:var(--mac-danger);border-color:var(--mac-danger-border)}.fb-type-appeal{background:var(--mac-warning-bg);color:var(--mac-warning);border-color:var(--mac-warning-border)}.fb-type-other{background:var(--mac-bg-soft);color:var(--mac-text-secondary);border-color:var(--mac-border)}.fb-reply{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.fb-reply-yes{background:var(--mac-success-bg);color:var(--mac-success)}.fb-reply-no{background:transparent;color:var(--mac-text-secondary)}.fb-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.fb-btn-view{padding:5px 12px;white-space:nowrap}.fb-btn-delete{padding:5px 8px;border:none;border-radius:var(--mac-radius-xs);background:transparent;color:var(--mac-danger);font-size:12px;line-height:1.4;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}.fb-btn-delete:hover:not(:disabled){background:var(--mac-danger-bg)}.fb-btn-delete:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.complaints-filter-bar .fb-search-keyword,.complaints-filter-bar .search-input-small,.complaints-filter-bar .fb-date-input{flex:1 1 100%;min-width:0;max-width:none;width:100%}.fb-date-sep{display:none}.fb-actions{width:100%}}.course-table-section{margin-bottom:24px}.course-table-section .data-table{font-size:12px}.course-table-section .data-table th,.course-table-section .data-table td{padding:10px 12px;white-space:nowrap}.other-income-section{margin-top:24px}.section-title{font-size:14px;font-weight:600;color:var(--mac-text);margin-bottom:12px;padding-left:4px;display:flex;align-items:center;gap:8px}.course-table-section,.other-income-section{overflow-x:auto;-webkit-overflow-scrolling:touch}.course-table-section .data-table,.other-income-section .data-table{min-width:100%}.modal-body{padding:0 0 16px}.course-modal,.payment-modal{width:500px;max-width:95vw}.student-modal{width:640px;max-width:95vw}.student-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.student-avatar-row{display:flex;align-items:center;gap:15px}@media (max-width: 600px){.student-modal{width:100%;max-width:100%;margin:0;border-radius:0;min-height:100vh}.student-form-grid{grid-template-columns:1fr;gap:12px}.student-avatar-row{flex-direction:column;align-items:flex-start;gap:10px}.modal-body div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important;gap:12px!important}.modal-body div[style*="repeat(auto-fit"]{grid-template-columns:repeat(2,1fr)!important}}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--mac-border)}textarea.form-input{resize:vertical;min-height:80px}.tabs-nav{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.tab-btn{padding:10px 20px;border:1px solid var(--mac-border);background:#fff;border-radius:8px;font-size:14px;cursor:pointer;color:var(--mac-text);transition:all .2s ease;font-weight:500}.tab-btn:hover{background:#c9a96214;border-color:var(--mac-accent);color:var(--mac-accent)}.tab-btn.active{background:var(--mac-accent);color:#fff;border-color:var(--mac-accent)}.tab-content{margin-top:0}.form-section{max-width:600px}.form-actions{margin-top:24px;padding-top:24px;border-top:1px solid var(--mac-border)}.students-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid var(--mac-border);margin-bottom:16px}.toolbar-left{display:flex;align-items:center;gap:16px}.total-count{font-size:13px;color:var(--mac-text-secondary)}.toolbar-right{display:flex;align-items:center;gap:8px}.student-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--mac-accent),var(--mac-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover}.student-detail{display:flex;gap:20px}.student-detail-avatar{flex-shrink:0}.detail-avatar-img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--mac-accent)}.detail-avatar-placeholder{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--mac-accent),var(--mac-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:600;border:3px solid var(--mac-accent)}.student-detail-info{flex:1}.detail-row{margin-bottom:12px;font-size:14px}.detail-label{color:var(--mac-text-secondary);font-weight:500}.search-select{padding:8px 12px;border:1px solid var(--mac-border);border-radius:6px;font-size:13px;background:#fff;color:var(--mac-text);width:90px;cursor:pointer}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.pagination-btn{padding:8px 16px;border:1px solid var(--mac-border);background:#fff;border-radius:8px;font-size:13px;cursor:pointer;color:var(--mac-text);transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#c9a96214;border-color:var(--mac-accent);color:var(--mac-accent)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:13px;color:var(--mac-text-secondary)}.pagination-jump{display:flex;align-items:center;gap:8px}.jump-input{width:60px;padding:6px 8px;border:1px solid var(--mac-border);border-radius:4px;font-size:13px;text-align:center}.jump-btn{padding:6px 12px!important;font-size:12px!important}.progress-bar{width:100px;height:8px;background:var(--mac-border);border-radius:4px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:var(--mac-header-grad);border-radius:4px;transition:width .3s ease}.progress-text{font-size:12px;color:var(--mac-text-secondary)}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:16px}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000f;border:1px solid var(--mac-border);transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-card-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#c9a9621a,#c9a9620d);display:flex;align-items:center;justify-content:center;font-size:24px}.stat-card-content{flex:1}.stat-card-value{font-size:24px;font-weight:700;color:var(--mac-text);margin-bottom:4px}.stat-card-label{font-size:13px;color:var(--mac-text-secondary)}.cities-section{margin-top:24px}.section-subtitle{font-size:14px;font-weight:600;color:var(--mac-text);margin-bottom:12px}.cities-cards{display:flex;flex-wrap:wrap;gap:12px}.city-card{background:#fff;border-radius:8px;padding:12px 20px;display:flex;align-items:center;gap:12px;border:1px solid var(--mac-border);box-shadow:0 1px 4px #0000000a}.city-count{font-size:14px;font-weight:600;color:var(--mac-accent)}.stats-page{padding:20px}.stats-section-title{font-size:16px;font-weight:600;color:var(--mac-text);margin-bottom:16px;display:flex;align-items:center;gap:8px}.stats-overview{margin-bottom:24px}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.overview-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:12px;border:1px solid var(--mac-border);box-shadow:0 2px 8px #0000000a}.overview-card.active{border-color:#34c759;background:linear-gradient(135deg,#34c7590d,#34c75905)}.overview-card.graduated{border-color:#ff9500;background:linear-gradient(135deg,#ff95000d,#ff950005)}.overview-card.credits{border-color:var(--mac-accent);background:linear-gradient(135deg,#c9a9620d,#c9a96205)}.overview-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#c9a96226,#c9a9620d);display:flex;align-items:center;justify-content:center;font-size:26px}.overview-card.active .overview-icon{background:linear-gradient(135deg,#34c75926,#34c7590d)}.overview-card.graduated .overview-icon{background:linear-gradient(135deg,#ff950026,#ff95000d)}.overview-card.credits .overview-icon{background:linear-gradient(135deg,#c9a96226,#c9a9620d)}.overview-content{flex:1}.overview-value{font-size:28px;font-weight:700;color:var(--mac-text);margin-bottom:4px}.overview-label{font-size:13px;color:var(--mac-text-secondary)}.class-section{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border);margin-bottom:24px}.class-chart{display:flex;flex-direction:column;gap:12px}.class-bar-item{display:flex;align-items:center;gap:12px}.class-bar-label{width:80px;font-size:13px;color:var(--mac-text);flex-shrink:0}.class-bar-track{flex:1;height:20px;background:#c9a9621a;border-radius:10px;overflow:hidden}.class-bar-fill{height:100%;background:var(--mac-header-grad);border-radius:10px;transition:width .3s ease}.class-bar-count{width:80px;font-size:13px;color:var(--mac-text-secondary);text-align:right;flex-shrink:0}.learning-section{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border);margin-bottom:24px}.stats-table{width:100%;border-collapse:collapse}.stats-table th,.stats-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--mac-border)}.stats-table th{font-weight:600;color:var(--mac-text-secondary);font-size:13px}.stats-table td{font-size:13px;color:var(--mac-text)}.mini-progress{width:100px;height:8px;background:#c9a9621a;border-radius:4px;overflow:hidden}.mini-progress-fill{height:100%;background:var(--mac-header-grad);border-radius:4px;transition:width .3s ease}.ranking-section{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border)}.ranking-list{display:flex;flex-direction:column;gap:12px}.ranking-item{display:flex;align-items:center;gap:12px;padding:12px;background:#c9a96208;border-radius:8px}.ranking-badge{width:28px;height:28px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--mac-text-secondary)}.ranking-badge.top{background:var(--mac-header-grad);color:#fff}.ranking-info{flex:1}.ranking-name{font-size:14px;font-weight:500;color:var(--mac-text)}.ranking-class{font-size:12px;color:var(--mac-text-secondary)}.ranking-credits{display:flex;flex-direction:column;align-items:flex-end}.credits-label{font-size:11px;color:var(--mac-text-secondary)}.credits-value{font-size:18px;font-weight:700;color:var(--mac-accent)}.lifecycle-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.lifecycle-card{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border);display:flex;align-items:center;gap:12px}.lifecycle-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.lifecycle-icon.new{background:linear-gradient(135deg,#007aff26,#007aff0d)}.lifecycle-icon.active{background:linear-gradient(135deg,#34c75926,#34c7590d)}.lifecycle-icon.graduated{background:linear-gradient(135deg,#86868b26,#86868b0d)}.lifecycle-icon.churn{background:linear-gradient(135deg,#ff3b3026,#ff3b300d)}.lifecycle-info{flex:1}.lifecycle-value{font-size:24px;font-weight:700;color:var(--mac-text)}.lifecycle-label{font-size:13px;color:var(--mac-text-secondary)}.lifecycle-trend{font-size:12px;font-weight:600;margin-top:4px}.lifecycle-trend.up{color:#34c759}.lifecycle-trend.down{color:#ff3b30}.lifecycle-section{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border);margin-bottom:24px}.retention-chart{display:flex;justify-content:space-around;align-items:flex-end;height:200px;padding-top:20px}.retention-bar-item{display:flex;flex-direction:column;align-items:center;gap:8px}.retention-bar-track{width:30px;height:150px;background:#c9a9621a;border-radius:15px;display:flex;align-items:flex-end;overflow:hidden}.retention-bar-fill{width:100%;background:var(--mac-header-grad);border-radius:15px;transition:height .3s ease}.retention-bar-label{font-size:12px;color:var(--mac-text-secondary)}.retention-bar-rate{font-size:13px;font-weight:600;color:var(--mac-text)}.funnel-chart{display:flex;flex-direction:column;align-items:center;gap:12px}.funnel-stage{width:100%;padding:16px 20px;border-radius:8px;display:flex;align-items:center;gap:16px;color:#fff}.funnel-count{font-size:24px;font-weight:700}.funnel-label{font-size:14px;font-weight:600}.funnel-desc{font-size:12px;opacity:.8;margin-left:auto}.forecast-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.forecast-card{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border);text-align:center}.forecast-label{font-size:13px;color:var(--mac-text-secondary);margin-bottom:8px}.forecast-value{font-size:24px;font-weight:700;color:var(--mac-text);margin-bottom:8px}.forecast-trend{font-size:16px;font-weight:600}.forecast-trend.up{color:#34c759}.forecast-trend.down{color:#ff3b30}.forecast-trend.stable{color:#86868b}.forecast-section{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border);margin-bottom:24px}.line-chart{position:relative;height:250px;padding-top:20px}.chart-grid{position:absolute;left:40px;right:20px;top:20px;bottom:40px;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--mac-border)}.grid-line{border-bottom:1px dashed rgba(201,169,98,.2)}.grid-label{position:absolute;left:-40px;font-size:11px;color:var(--mac-text-secondary)}.chart-bars{display:flex;justify-content:space-around;align-items:flex-end;height:200px;padding-left:40px}.chart-bar-item{display:flex;flex-direction:column;align-items:center;gap:8px}.chart-bar{width:35px;border-radius:8px 8px 0 0;position:relative}.chart-bar.actual{background:var(--mac-header-grad)}.chart-bar.forecast{background:linear-gradient(180deg,#c9a96280,#c9a96233);border:2px dashed rgba(201,169,98,.6)}.bar-value{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:11px;font-weight:600;color:var(--mac-text)}.chart-label{font-size:12px;color:var(--mac-text-secondary)}.chart-legend{display:flex;justify-content:center;gap:24px;margin-top:20px}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px}.legend-dot.actual{background:var(--mac-accent)}.legend-dot.forecast{background:#c9a96280;border:2px dashed rgba(201,169,98,.6)}.demand-list{display:flex;flex-direction:column;gap:12px}.demand-item{display:flex;align-items:center;gap:12px;padding:12px;background:#c9a96208;border-radius:8px}.demand-rank{width:28px;height:28px;border-radius:50%;background:var(--mac-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.demand-info{flex:1}.demand-name{font-size:14px;font-weight:500;color:var(--mac-text);margin-bottom:4px}.demand-bar{height:6px;background:#c9a9621a;border-radius:3px;overflow:hidden}.demand-fill{height:100%;background:var(--mac-header-grad);border-radius:3px}.demand-trend{font-size:13px;font-weight:600}.demand-trend.up{color:#34c759}.demand-trend.down{color:#ff3b30}.portrait-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px}.portrait-card{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--mac-border)}.portrait-card-title{font-size:14px;font-weight:600;color:var(--mac-text);margin-bottom:16px}.gender-chart{display:flex;flex-direction:column;align-items:center}.gender-circle{width:140px;height:140px;border-radius:50%;background:#f0f0f0;position:relative;overflow:hidden;margin-bottom:16px}.gender-male{position:absolute;width:100%;height:100%;background:#007aff;transform-origin:bottom center}.gender-female{position:absolute;width:100%;height:100%;background:#ff3b30;transform-origin:bottom center}.gender-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.gender-total{font-size:20px;font-weight:700;color:var(--mac-text)}.gender-label{font-size:10px;color:var(--mac-text-secondary)}.gender-legend{display:flex;gap:24px}.legend-square{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px}.legend-square.male{background:#007aff}.legend-square.female{background:#ff3b30}.age-bars{display:flex;flex-direction:column;gap:12px}.age-bar-item{display:flex;align-items:center;gap:12px}.age-label{width:60px;font-size:13px;color:var(--mac-text-secondary)}.age-bar-track{flex:1;height:12px;background:#c9a9621a;border-radius:6px;overflow:hidden}.age-bar-fill{height:100%;background:var(--mac-header-grad);border-radius:6px}.age-count{width:50px;font-size:13px;font-weight:600;color:var(--mac-text);text-align:right}.city-list{display:flex;flex-direction:column;gap:12px}.city-item{display:flex;flex-direction:column;gap:4px}.city-bar{height:8px;background:#c9a9621a;border-radius:4px;overflow:hidden}.city-fill{height:100%;background:linear-gradient(90deg,#007aff,#5ac8fa);border-radius:4px}.city-info{display:flex;justify-content:space-between}.city-name{font-size:13px;color:var(--mac-text)}.city-count{font-size:13px;font-weight:600;color:var(--mac-accent)}.occupation-chart{display:flex;flex-direction:column;gap:12px}.occupation-item{display:flex;align-items:center;gap:12px}.occupation-bar{flex:1;height:12px;border-radius:6px}.occupation-name{width:60px;font-size:13px;color:var(--mac-text)}.occupation-percent{width:40px;font-size:13px;font-weight:600;color:var(--mac-text-secondary);text-align:right}.data-maintenance{padding:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{font-size:18px;font-weight:600;color:var(--mac-text)}.backup-info{display:flex;gap:16px;margin-bottom:20px}.info-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:8px;border:1px solid var(--mac-border);min-width:200px}.info-icon{font-size:28px}.info-content{display:flex;flex-direction:column}.info-label{font-size:12px;color:var(--mac-text-secondary)}.section-content{background:#fff;border-radius:8px;border:1px solid var(--mac-border);padding:20px}.section-content h4{font-size:14px;font-weight:600;color:var(--mac-text);margin-bottom:16px}.empty-state{text-align:center;padding:40px;color:var(--mac-text-secondary)}.sql-section{display:flex;gap:20px}.section-left{width:220px;flex-shrink:0;min-width:220px;background:#fff;border-radius:8px;border:1px solid var(--mac-border);padding:12px}.section-left h4{font-size:14px;font-weight:600;color:var(--mac-text);margin-bottom:12px}.table-list{background:#fff;border-radius:8px;border:1px solid var(--mac-border);overflow:hidden}.table-item{width:100%;padding:10px 12px;text-align:left;border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--mac-text);border-bottom:1px solid var(--mac-border);transition:background .2s}.table-item:last-child{border-bottom:none}.table-item:hover{background:#c9a9620d}.table-item.active{background:#c9a9621a;color:var(--mac-accent);font-weight:600}.section-right{flex:1;display:flex;flex-direction:column;gap:16px}.sql-editor{background:#fff;border-radius:8px;border:1px solid var(--mac-border);overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--mac-border);font-size:13px;font-weight:600;color:var(--mac-text)}.sql-textarea{width:100%;padding:12px 16px;border:none;resize:vertical;font-family:Monaco,Menlo,monospace;font-size:13px;line-height:1.5;min-height:120px;box-sizing:border-box}.sql-textarea:focus{outline:none}.sql-error{padding:12px 16px;background:#ff3b301a;color:#ff3b30;font-size:13px}.table-preview{background:#fff;border-radius:8px;border:1px solid var(--mac-border);padding:16px}.table-preview h4{font-size:14px;font-weight:600;color:var(--mac-text);margin-bottom:12px}.table-scroll{max-height:300px;overflow:auto}.data-table.small{font-size:12px}.data-table.small th,.data-table.small td{padding:6px 10px}.sql-result{background:#fff;border-radius:8px;border:1px solid var(--mac-border);padding:16px}.sql-result h4{font-size:14px;font-weight:600;color:var(--mac-text);margin-bottom:12px}.result-pre{background:#f5f5f7;padding:12px 16px;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:12px;max-height:300px;overflow:auto;white-space:pre-wrap;word-break:break-all}.btn-danger{background:#ff3b30;color:#fff}.btn-danger:hover{background:#e6362d}.teacher-layout-container{display:flex;min-height:100vh;background:var(--zen-bg)}.teacher-sidebar{width:200px;background:var(--zen-card);border-right:1px solid var(--zen-border);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;box-shadow:2px 0 20px var(--zen-shadow);transition:width .3s cubic-bezier(.4,0,.2,1)}.teacher-sidebar.collapsed{width:72px}.teacher-sidebar-header{padding:20px 16px;background:var(--zen-header-grad);display:flex;flex-direction:column;gap:16px;margin:8px 8px 0;border-radius:14px}.teacher-logo-section{display:flex;align-items:center;gap:10px;padding:0 10px}.teacher-logo{width:40px;height:40px;background:#ffffff26;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-icon{font-size:22px}.teacher-logo-text{flex:1;min-width:0}.logo-title{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-subtitle{font-size:12px;color:#ffffffbf;margin-top:2px}.teacher-profile{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff1a;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0}.teacher-profile .profile-avatar{width:44px;height:44px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;font-weight:600;flex-shrink:0}.teacher-profile .profile-info{display:flex;flex-direction:column;min-width:0}.teacher-profile .profile-name{font-size:15px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-profile .profile-role{font-size:12px;color:#ffffffbf;margin-top:2px}.profile-avatar{width:36px;height:36px;border-radius:50%;background:var(--zen-btn-grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;flex-shrink:0}.profile-info{flex:1;min-width:0}.profile-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-title{font-size:12px;color:var(--zen-overlay);margin-top:2px}.teacher-sidebar-menu{flex:1;padding:16px 8px;overflow-y:auto}.teacher-sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:4px;border-radius:10px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);color:var(--zen-text-secondary);font-size:14px;font-weight:500}.teacher-sidebar-item:hover{background:var(--zen-bg-soft);color:var(--zen-primary);transform:translate(4px)}.teacher-sidebar-item.active{background:linear-gradient(135deg,var(--zen-bg-soft),var(--zen-bg-soft));color:var(--zen-primary);font-weight:600;box-shadow:0 2px 8px var(--zen-bg-soft)}.sidebar-icon{font-size:18px;flex-shrink:0}.sidebar-label{flex:1;white-space:nowrap}.teacher-sidebar-footer{padding:12px;border-top:1px solid var(--zen-border)}.collapse-btn{width:100%;padding:10px;background:var(--zen-bg-soft);border:none;border-radius:8px;color:var(--zen-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.collapse-btn:hover{background:var(--zen-bg-soft)}.teacher-main-content{flex:1;margin-left:200px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.teacher-sidebar.collapsed+.teacher-main-content{margin-left:72px}.teacher-top-bar{height:64px;background:var(--zen-overlay);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--zen-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:90;box-shadow:0 1px 8px var(--zen-shadow)}.top-bar-left{display:flex;align-items:center}.page-title{display:flex;align-items:center;gap:10px}.title-icon{font-size:20px}.title-text{font-size:18px;font-weight:600;color:var(--zen-text);letter-spacing:-.01em}.top-bar-right{display:flex;align-items:center;gap:16px}.theme-switcher,.action-buttons{display:flex;align-items:center}.quick-actions{display:flex;gap:8px}.teacher-top-bar .toolbar-buttons{display:flex;align-items:center;gap:10px}.teacher-top-bar .toolbar-btn{padding:8px 16px;border:1px solid var(--zen-border);background:var(--zen-card);border-radius:8px;font-size:13px;cursor:pointer;color:var(--zen-text);transition:all .2s ease;display:flex;align-items:center;gap:6px;height:36px}.teacher-top-bar .toolbar-btn:hover{background:var(--zen-bg-soft);border-color:var(--zen-primary)}.teacher-top-bar .ai-btn{padding:8px 16px;font-size:13px;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;height:36px}.teacher-top-bar .ai-btn:hover{background:var(--zen-primary-dark)}.teacher-top-bar .action-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;height:36px}.teacher-top-bar .action-btn:hover{transform:translateY(-2px)}.teacher-top-bar .logout-btn{background:var(--zen-card);color:#e85656;border:1px solid rgba(232,86,86,.3)}.teacher-top-bar .logout-btn:hover{background:#e8565633;border-color:#e8565666}.user-menu{display:flex;align-items:center;gap:16px}.user-avatar-wrapper{cursor:pointer}.mini-avatar{width:36px;height:36px;border-radius:50%;background:var(--zen-btn-grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;box-shadow:0 2px 8px var(--zen-shadow);transition:all .2s ease}.mini-avatar:hover{transform:scale(1.08);box-shadow:0 4px 12px var(--zen-shadow)}.logout-button{padding:8px 16px;background:#e8565614;color:#e85656;border:1px solid rgba(232,86,86,.2);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#e8565626;border-color:#e856564d}.teacher-content-area{flex:1;padding:16px;overflow-y:auto;scrollbar-gutter:stable}.teacher-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.teacher-stat-card{background:var(--zen-card);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;border:1px solid var(--zen-border);box-shadow:0 2px 12px var(--zen-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.teacher-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--zen-bg-soft)}.teacher-stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.teacher-stat-icon.courses,.teacher-stat-icon.students,.teacher-stat-icon.income,.teacher-stat-icon.classes{background:var(--zen-bg-soft)}.teacher-stat-content{flex:1}.teacher-stat-value{font-size:28px;font-weight:700;color:var(--zen-text);line-height:1.2}.teacher-stat-label{font-size:13px;color:var(--zen-text-secondary);margin-top:4px}.teacher-content-card{background:var(--zen-card);border-radius:16px;border:1px solid var(--zen-border);box-shadow:0 2px 12px var(--zen-shadow);overflow:hidden}.teacher-card-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--zen-border);background:var(--zen-bg-soft)}.teacher-card-title{font-size:16px;font-weight:600;color:var(--zen-text)}.teacher-card-actions{display:flex;gap:10px}.teacher-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.teacher-btn-primary{background:var(--zen-btn-grad);color:#fff}.teacher-btn-primary:hover{box-shadow:0 4px 12px var(--zen-shadow);transform:translateY(-1px)}.teacher-btn-secondary{background:var(--zen-bg-soft);color:var(--zen-primary)}.teacher-btn-secondary:hover{background:var(--zen-bg-soft)}.teacher-card-body{padding:20px 24px}.teacher-course-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.teacher-course-card{background:var(--zen-card);border-radius:12px;border:1px solid var(--zen-border);padding:20px;transition:all .2s ease}.teacher-course-card:hover{box-shadow:0 4px 16px var(--zen-shadow);transform:translateY(-2px)}.teacher-course-card.selected{border-color:var(--zen-primary);box-shadow:0 4px 16px var(--zen-bg-soft)}.course-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.course-title{font-size:15px;font-weight:600;color:var(--zen-text);flex:1;margin-right:12px}.course-status{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;flex-shrink:0}.course-status.pending{background:#ff95001a;color:#ff9500}.course-status.ongoing{background:#34c7591a;color:#34c759}.course-status.completed{background:#86868b1a;color:#86868b}.course-info{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--zen-text-secondary)}.course-info-row{display:flex;align-items:center;gap:6px}.course-info-icon{font-size:14px}.course-progress{margin-top:16px}.progress-bar-container{display:flex;align-items:center;gap:12px}.progress-bar-track{flex:1;height:8px;background:var(--zen-bg-soft);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--zen-btn-grad);border-radius:4px;transition:width .3s ease}.progress-text{font-size:12px;font-weight:600;color:var(--zen-primary);min-width:60px;text-align:right}.teacher-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;background:var(--zen-bg-soft);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.calendar-day:hover{background:var(--zen-bg-soft)}.calendar-day.today{background:var(--zen-btn-grad);color:#fff}.calendar-day.has-class{background:#34c7591a}.calendar-day.has-class:after{content:"";position:absolute;bottom:6px;width:6px;height:6px;background:#34c759;border-radius:50%}.calendar-day.today.has-class:after{background:var(--zen-card)}.calendar-day-name{font-size:11px;opacity:.7}.calendar-day-number{font-size:14px;font-weight:600;margin-top:2px}.teacher-timeline{display:flex;flex-direction:column;gap:16px}.timeline-item{display:flex;gap:16px;padding:16px;background:var(--zen-bg-soft);border-radius:12px;border-left:4px solid var(--zen-primary)}.timeline-time{width:80px;flex-shrink:0;font-size:13px;font-weight:600;color:var(--zen-primary)}.timeline-content{flex:1}.timeline-course{font-size:14px;font-weight:600;color:var(--zen-text);margin-bottom:4px}.timeline-location{font-size:12px;color:var(--zen-text-secondary)}.teacher-income-chart{display:flex;justify-content:space-between;align-items:flex-end;height:200px;padding:20px 0}.income-bar-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.income-bar-track{width:40px;height:150px;background:var(--zen-bg-soft);border-radius:20px;display:flex;align-items:flex-end;overflow:hidden}.income-bar-fill{width:100%;background:linear-gradient(180deg,var(--zen-primary),var(--zen-primary-light));border-radius:20px;transition:height .3s ease}.income-bar-label{font-size:12px;color:var(--zen-text-secondary)}.income-bar-value{font-size:12px;font-weight:600;color:var(--zen-primary)}.teacher-student-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--zen-card);border-radius:12px;border:1px solid var(--zen-border);transition:all .2s ease}.teacher-student-card:hover{box-shadow:0 4px 12px var(--zen-shadow)}.student-avatar-wrapper{width:48px;height:48px;border-radius:50%;background:var(--zen-btn-grad);display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-avatar-letter{font-size:18px;font-weight:600;color:#fff}.student-info{flex:1}.student-name{font-size:14px;font-weight:600;color:var(--zen-text)}.student-course{font-size:12px;color:var(--zen-text-secondary);margin-top:2px}.student-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.student-status.confirmed{background:#34c7591a;color:#34c759}.student-status.pending{background:#ff95001a;color:#ff9500}.student-status.reserved{background:#86868b1a;color:#86868b}@media (max-width: 1024px){.teacher-sidebar{width:200px}.teacher-main-content{margin-left:200px}.teacher-sidebar.collapsed{width:64px}.teacher-sidebar.collapsed+.teacher-main-content{margin-left:64px}.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.teacher-sidebar{position:fixed;left:-240px;top:0;bottom:0;width:240px;z-index:100;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px #00000026}.teacher-sidebar.visible{left:0}.teacher-main-content{margin-left:0}.teacher-top-bar{padding:0 16px}.teacher-content-area{padding:12px}.teacher-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.teacher-stat-card{padding:16px}.teacher-stat-icon{width:44px;height:44px;font-size:22px}.teacher-stat-value{font-size:22px}.teacher-course-list{grid-template-columns:1fr}.teacher-card-header{flex-direction:column;gap:12px;align-items:flex-start}.teacher-calendar{gap:4px}.calendar-day-number{font-size:12px}}@media (max-width: 640px){.teacher-stats-grid{grid-template-columns:1fr}.teacher-stat-card{padding:20px}.top-bar-right{gap:12px}.logout-button{padding:6px 12px;font-size:12px}.action-btn{width:36px;height:36px}}.teacher-page-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);border-radius:20px;margin-bottom:24px;box-shadow:0 8px 32px #667eea4d}.page-title-section{display:flex;flex-direction:column;gap:6px}.page-title{font-size:28px;font-weight:700;color:#fff;margin:0;letter-spacing:-.02em}.page-subtitle{font-size:14px;color:#ffffffd9;margin:0}.page-stats{display:flex;gap:32px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:12px 24px;background:#ffffff26;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-number{font-size:32px;font-weight:700;color:#fff;line-height:1}.stat-label{font-size:12px;color:#ffffffd9;margin-top:4px}.stat-divider{width:1px;background:#ffffff4d}.teacher-tabs{display:flex;background:var(--zen-card);padding:6px;border-radius:14px;box-shadow:0 2px 8px var(--zen-shadow);width:fit-content}.teacher-tab{padding:12px 28px;border:none;background:transparent;border-radius:10px;font-size:14px;font-weight:600;color:var(--zen-text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px}.teacher-tab:hover{background:var(--zen-bg-soft);color:var(--zen-primary)}.teacher-tab.active{background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);color:#fff;box-shadow:0 4px 12px #667eea4d}.memo-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;margin-top:24px}.memo-card{background:var(--zen-card);border-radius:16px;padding:24px;border:1px solid #E5E7EB;box-shadow:0 2px 12px var(--zen-shadow);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.memo-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%)}.memo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea26}.memo-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.memo-card-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.memo-card-title{font-size:18px;font-weight:700;color:#1f2937;margin:0;flex:1}.memo-priority-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600}.memo-priority-badge.high{background:linear-gradient(135deg,#ef44441a,#ef44440d);color:#dc2626}.memo-priority-badge.normal{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);color:#d97706}.memo-priority-badge.low{background:linear-gradient(135deg,#10b9811a,#10b9810d);color:#059669}.memo-card-actions{display:flex;gap:8px}.memo-action-btn{padding:6px 12px;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.memo-action-btn.edit{background:#3b82f61a;color:#3b82f6}.memo-action-btn.edit:hover{background:#3b82f633}.memo-action-btn.delete{background:#ef44441a;color:#ef4444}.memo-action-btn.delete:hover{background:#ef444433}.memo-card-content{font-size:14px;color:#4b5563;line-height:1.7;margin-bottom:16px;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.memo-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #F3F4F6}.memo-category{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--zen-text-secondary)}.memo-category-icon{font-size:14px}.memo-created-time{font-size:12px;color:#9ca3af}.attendance-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;margin-top:24px}.attendance-card{background:var(--zen-card);border-radius:16px;padding:24px;border:1px solid #E5E7EB;box-shadow:0 2px 12px var(--zen-shadow);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.attendance-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#10b981,#059669)}.attendance-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #10b98126}.attendance-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.attendance-card-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.attendance-card-title{font-size:18px;font-weight:700;color:#1f2937;margin:0;flex:1}.attendance-type-badge{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px}.attendance-type-badge.offline{background:linear-gradient(135deg,#10b9811a,#10b9810d);color:#059669}.attendance-type-badge.online{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);color:#2563eb}.attendance-type-badge.group{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);color:#d97706}.attendance-type-badge.private{background:linear-gradient(135deg,#a855f71a,#a855f70d);color:#9333ea}.attendance-card-actions{display:flex;gap:8px}.attendance-action-btn{padding:6px 12px;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.attendance-action-btn.edit{background:#3b82f61a;color:#3b82f6}.attendance-action-btn.edit:hover{background:#3b82f633}.attendance-action-btn.delete{background:#ef44441a;color:#ef4444}.attendance-action-btn.delete:hover{background:#ef444433}.attendance-info-list{display:flex;flex-direction:column;gap:10px;font-size:14px}.attendance-info-item{display:flex;align-items:center;gap:10px;color:#4b5563}.attendance-info-icon{font-size:15px;color:#9ca3af;width:20px}.attendance-notes{margin-top:12px;padding:12px;background:#f9fafb;border-radius:10px;font-size:13px;color:#374151;line-height:1.6}.attendance-card-footer{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid #F3F4F6}.attendance-created-time{font-size:12px;color:#9ca3af}.create-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #667eea4d}.create-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.create-btn:active{transform:translateY(0)}.empty-state{text-align:center;padding:60px 20px;background:var(--zen-card);border-radius:16px;border:1px dashed #E5E7EB}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-title{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.empty-state-desc{font-size:14px;color:#9ca3af}.meeting-modal{background:var(--zen-card);border-radius:20px;padding:0;width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.meeting-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #F3F4F6}.meeting-modal .modal-title{font-size:20px;font-weight:700;color:#1f2937;margin:0}.meeting-modal .modal-close-btn{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:50%;font-size:20px;color:var(--zen-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.meeting-modal .modal-close-btn:hover{background:#e5e7eb;color:#374151}.meeting-modal .modal-body{padding:24px}.meeting-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #F3F4F6;background:#fafafa;border-radius:0 0 20px 20px}.meeting-modal .modal-close-btn-text{padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.meeting-modal .modal-close-btn-text:hover{background:#e5e7eb}.modal-form-group{margin-bottom:20px}.modal-form-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.modal-form-label.required:after{content:" *";color:#ef4444}.modal-form-input{width:100%;padding:12px 16px;border:1px solid #D1D5DB;border-radius:10px;font-size:14px;color:#374151;transition:all .2s ease;box-sizing:border-box}.modal-form-input:focus{outline:none;border-color:var(--zen-primary);box-shadow:0 0 0 3px var(--zen-bg-soft)}.modal-form-input::placeholder{color:#9ca3af}.modal-form-textarea{width:100%;padding:12px 16px;border:1px solid #D1D5DB;border-radius:10px;font-size:14px;color:#374151;resize:vertical;min-height:120px;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.modal-form-textarea:focus{outline:none;border-color:var(--zen-primary);box-shadow:0 0 0 3px var(--zen-bg-soft)}.modal-form-textarea::placeholder{color:#9ca3af}.modal-form-select{width:100%;padding:12px 16px;border:1px solid #D1D5DB;border-radius:10px;font-size:14px;color:#374151;background:var(--zen-card);cursor:pointer;transition:all .2s ease;box-sizing:border-box}.modal-form-select:focus{outline:none;border-color:var(--zen-primary);box-shadow:0 0 0 3px var(--zen-bg-soft)}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-submit-btn{padding:12px 32px;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #667eea4d}.modal-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.loading-spinner{width:40px;height:40px;border:3px solid #F3F4F6;border-top-color:var(--zen-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes successPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.student-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;padding:16px 0}.student-card{background:#fff;border:1px solid #e8e8e8;border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;min-height:300px}.student-card:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.student-card-header{display:flex;flex-direction:column;gap:10px;padding:14px 16px 12px;border-bottom:1px solid #f0f0f0;background:linear-gradient(180deg,#fafcfa,#fff)}.student-card-head-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.student-card-head-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:0 0 0 56px}.student-card-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:600;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px #7e9a784d}.student-card-avatar img{width:100%;height:100%;object-fit:cover}.student-card-info{flex:1 1 auto;min-width:0;padding:0}.student-card-name{font-size:15px;font-weight:600;color:var(--mac-text);margin-bottom:3px;line-height:1.3;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.student-card-phone{font-size:12px;color:var(--mac-text-secondary);font-family:monospace;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-city{font-size:11px;color:var(--mac-text-secondary);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-status{display:inline-block;padding:2px 9px;border-radius:10px;font-size:10.5px;font-weight:500;flex-shrink:0;white-space:nowrap}.student-card-status.active{background:var(--zen-success-bg, #e6f7ed);color:var(--zen-success)}.student-card-status.graduated{background:var(--zen-warning-bg, #fff7e6);color:var(--zen-warning)}.student-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 16px;flex:1 1 auto}.student-card-stat{padding:8px 10px;background:#fafbfc;border-radius:9px;border-left:3px solid var(--zen-primary);min-width:0}.student-card-stat-label{font-size:10.5px;color:var(--zen-text-secondary);margin-bottom:4px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-stat-value{font-size:13.5px;color:var(--mac-text);font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-stat-value.amount{color:var(--zen-primary-dark)}.student-card-stat-value.points{color:var(--zen-warning)}.student-card-actions{display:flex;flex-direction:column;gap:7px;padding:10px 16px 14px;border-top:1px solid #f0f0f0;background:#fafbfc}.student-card-actions-row{display:flex;flex-wrap:nowrap;gap:7px;align-items:stretch;justify-content:space-between}.student-card-btn{flex:1 1 0;min-width:0;max-width:100%;padding:7px 8px;border:1px solid var(--zen-border);border-radius:7px;background:#fff;cursor:pointer;font-size:11.5px;color:var(--mac-text);transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:4px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.student-card-btn:hover{border-color:var(--zen-primary);color:var(--zen-primary);background:var(--zen-primary-bg)}.student-card-btn.primary{background:var(--zen-primary);color:#fff;border-color:var(--zen-primary)}.student-card-btn.primary:hover{background:var(--zen-primary-dark);color:#fff}.student-card-btn.success{color:var(--zen-success);border-color:var(--zen-success)}.student-card-btn.success:hover{background:var(--zen-success);color:#fff}.student-card-btn.danger{color:var(--zen-danger);border-color:var(--zen-danger)}.student-card-btn.danger:hover{background:var(--zen-danger);color:#fff}.student-card-btn.info{color:var(--zen-info);border-color:var(--zen-info)}.student-card-btn.info:hover{background:var(--zen-info);color:#fff}@media (max-width: 1700px){.student-cards-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.student-card-header{padding:13px 14px 11px}.student-card-stats{padding:11px 14px}.student-card-actions{padding:9px 14px 13px}.student-card-head-tags{padding-left:52px}}@media (max-width: 1600px){.student-cards-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.student-card-actions-row.secondary{flex-wrap:wrap}.student-card-actions-row.secondary .student-card-btn{flex:1 1 calc(33.33% - 7px);min-width:85px}}@media (max-width: 1024px){.student-cards-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}}@media (max-width: 768px){.student-cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.student-card-actions-row{flex-wrap:wrap}.student-card-btn{flex:1 1 calc(50% - 8px);font-size:11px;padding:6px}}.student-detail-modal{width:900px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.student-detail-modal .modal-body{flex:1;overflow-y:auto;padding:0}.student-detail-tabs{display:flex;border-bottom:1px solid #e8e8e8;background:var(--zen-bg-soft);padding:0 20px}.student-detail-tab{padding:12px 16px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:400;color:var(--mac-text-secondary);border-bottom:3px solid transparent;margin-bottom:-1px;transition:all .2s;display:flex;align-items:center;gap:4px}.student-detail-tab:hover{color:var(--zen-primary)}.student-detail-tab.active{font-weight:500;color:var(--zen-primary);border-bottom-color:var(--zen-primary)}.student-detail-content{padding:20px}.student-detail-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.student-detail-stat-card{padding:12px 16px;background:var(--zen-bg-soft);border-radius:8px;border-left:3px solid var(--zen-primary)}.student-detail-stat-card .stat-label{font-size:12px;color:var(--zen-text-secondary);margin-bottom:4px;font-weight:500}.student-detail-stat-card .stat-value{font-size:16px;color:var(--mac-text);font-weight:600}.student-detail-table{width:100%;border-collapse:collapse;font-size:13px}.student-detail-table th{text-align:left;padding:10px 12px;font-weight:600;color:var(--mac-text-secondary);font-size:12px;background:var(--zen-bg-soft);border-bottom:2px solid #e8e8e8}.student-detail-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:var(--mac-text)}.student-detail-table tbody tr:hover{background:var(--zen-bg-soft)}.student-detail-empty{padding:40px;text-align:center;color:var(--zen-text-secondary);font-size:14px}@media (max-width: 768px){.student-cards-grid{grid-template-columns:1fr}.student-detail-stats-row{grid-template-columns:repeat(2,1fr)}.student-card-actions{flex-direction:column}.student-card-btn{min-width:100%}}@media (max-width: 480px){.student-detail-stats-row{grid-template-columns:1fr}}@media (max-width: 768px){.teacher-page-header{flex-direction:column;gap:16px;text-align:center}.page-title{font-size:22px}.page-stats{gap:16px}.stat-item{padding:10px 16px}.stat-number{font-size:24px}.teacher-tabs{width:100%;justify-content:center}.teacher-tab{padding:10px 20px;font-size:13px}.memo-cards-grid,.attendance-cards-grid{grid-template-columns:1fr}.memo-card,.attendance-card{padding:20px}.modal-form-row{grid-template-columns:1fr}}.diary-page-header{display:flex;justify-content:space-between;align-items:center;padding:32px 40px;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:20px;margin-bottom:24px;box-shadow:0 8px 32px #1a1a2e4d;position:relative;overflow:hidden}.diary-page-header:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.03),transparent);transform:rotate(30deg)}.diary-header-left{position:relative;z-index:1}.diary-page-title{font-size:32px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:-.02em}.diary-page-subtitle{font-size:14px;color:var(--zen-overlay);margin:0}.diary-create-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #667eea66;position:relative;z-index:1}.diary-create-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea80}.diary-create-btn span{font-size:18px;font-weight:700}.diary-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.diary-stat-card{background:var(--zen-card);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;border:1px solid #E5E7EB;box-shadow:0 2px 12px var(--zen-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.diary-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--zen-shadow)}.diary-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.diary-stat-info{flex:1}.diary-stat-value{font-size:28px;font-weight:700;color:#1f2937;line-height:1}.diary-stat-label{font-size:13px;color:var(--zen-text-secondary);margin-top:4px}.diary-filter-tabs{display:flex;gap:8px;margin-bottom:24px;padding:6px;background:var(--zen-card);border-radius:14px;box-shadow:0 2px 8px var(--zen-shadow);border:1px solid #E5E7EB;overflow-x:auto}.diary-filter-tab{padding:10px 20px;border:none;background:transparent;border-radius:10px;font-size:13px;font-weight:500;color:var(--zen-text-secondary);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.diary-filter-tab:hover{background:var(--zen-bg-soft);color:var(--zen-primary)}.diary-filter-tab.active{background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);color:#fff;box-shadow:0 4px 12px #667eea4d}.diary-list{display:flex;flex-direction:column;gap:16px}.diary-card{background:var(--zen-card);border-radius:16px;padding:24px;border:1px solid #E5E7EB;box-shadow:0 2px 12px var(--zen-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.diary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--zen-shadow);border-color:var(--zen-primary)}.diary-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.diary-card-meta{display:flex;align-items:center;gap:12px}.diary-category-tag{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.diary-time{font-size:13px;color:#9ca3af}.diary-card-actions{display:flex;gap:8px}.diary-action-btn{padding:6px 12px;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.diary-action-btn.edit{background:#3b82f61a;color:#3b82f6}.diary-action-btn.edit:hover{background:#3b82f633}.diary-action-btn.delete{background:#ef44441a;color:#ef4444}.diary-action-btn.delete:hover{background:#ef444433}.diary-card-title{font-size:20px;font-weight:700;color:#1f2937;margin:0 0 12px}.diary-card-content{font-size:14px;color:#4b5563;line-height:1.8;margin:0;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.diary-card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.diary-tag{padding:4px 10px;background:#f3f4f6;border-radius:12px;font-size:12px;color:var(--zen-text-secondary)}.diary-card-footer{display:flex;justify-content:flex-end;padding-top:12px;margin-top:12px;border-top:1px solid #F3F4F6}.diary-author{font-size:13px;color:#9ca3af}.diary-empty{text-align:center;padding:80px 20px;background:var(--zen-card);border-radius:16px;border:1px dashed #E5E7EB}.diary-empty-icon{font-size:72px;margin-bottom:16px;opacity:.6}.diary-empty-title{font-size:20px;font-weight:600;color:#374151;margin-bottom:8px}.diary-empty-desc{font-size:14px;color:#9ca3af}.diary-modal{background:var(--zen-card);border-radius:20px;padding:0;width:640px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000040}.diary-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #E5E7EB;margin-bottom:0}.diary-modal .modal-title{font-size:18px;font-weight:700;color:#1f2937;margin:0}.diary-modal .modal-close-btn{background:#f3f4f6;border:none;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer;color:var(--zen-text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.diary-modal .modal-close-btn:hover{background:#e5e7eb;color:#1f2937}.diary-modal .modal-body{padding:24px}.diary-modal .modal-form-group{margin-bottom:20px}.diary-modal .modal-form-label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.diary-modal .modal-form-label.required:after{content:"*";color:#ef4444;margin-left:4px}.diary-modal .modal-form-input{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;color:#374151;background:var(--zen-card);transition:all .2s ease;box-sizing:border-box}@media (max-width: 768px){.top-bar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--zen-card)!important}.mobile-floating-home-btn{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa!important}.deco-blur{filter:none!important;display:none!important}}.diary-modal .modal-form-input:focus{outline:none;border-color:var(--zen-primary);box-shadow:0 0 0 3px var(--zen-bg-soft)}.diary-modal .modal-form-select{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;color:#374151;background:var(--zen-card);transition:all .2s ease;box-sizing:border-box;cursor:pointer}.diary-modal .modal-form-select:focus{outline:none;border-color:var(--zen-primary);box-shadow:0 0 0 3px var(--zen-bg-soft)}.diary-modal .modal-form-textarea{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;color:#374151;background:var(--zen-card);transition:all .2s ease;box-sizing:border-box;resize:vertical;min-height:120px}.diary-modal .modal-form-textarea:focus{outline:none;border-color:var(--zen-primary);box-shadow:0 0 0 3px var(--zen-bg-soft)}.diary-modal .modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.diary-modal .modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #E5E7EB}.diary-modal .modal-close-btn-text{padding:10px 20px;border:1px solid #E5E7EB;border-radius:10px;font-size:14px;font-weight:500;color:var(--zen-text-secondary);background:var(--zen-card);cursor:pointer;transition:all .2s ease}.diary-modal .modal-close-btn-text:hover{background:#f9fafb;border-color:#d1d5db}.diary-modal .modal-submit-btn{padding:10px 24px;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea66}.diary-modal .modal-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #667eea80}@media (max-width: 1024px){.diary-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.diary-page-header{flex-direction:column;gap:20px;text-align:center;padding:24px}.diary-page-title{font-size:24px}.diary-stats-row{grid-template-columns:repeat(2,1fr);gap:12px}.diary-stat-card{padding:16px}.diary-stat-value{font-size:24px}.diary-filter-tabs{padding:8px}.diary-filter-tab{padding:8px 14px;font-size:12px}.diary-card{padding:20px}.diary-card-header{flex-direction:column;align-items:flex-start;gap:10px}.diary-card-title{font-size:18px}}@media (max-width: 640px){.diary-stats-row{grid-template-columns:1fr}.diary-create-btn{width:100%;justify-content:center}.diary-modal{border-radius:16px;width:95vw}.diary-modal .modal-form-row{grid-template-columns:1fr}}.teacher-layout-container.teacher-mobile{flex-direction:column}.teacher-mobile .teacher-sidebar{display:none}.teacher-bottom-nav,.teacher-mobile .teacher-bottom-nav{display:none!important}.teacher-hamburger-btn{display:none;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;border:none;background:transparent;cursor:pointer;padding:0 6px;border-radius:8px;transition:background .2s ease}.teacher-hamburger-btn:active{background:var(--zen-shadow)}.teacher-hamburger-btn .hamburger-line{display:block;width:20px;height:2px;background:var(--zen-text);border-radius:2px;transition:all .3s ease}.teacher-mobile .teacher-hamburger-btn{display:flex}.teacher-drawer-nav{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--zen-card);z-index:210;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:2px 0 20px #0000001a}.teacher-drawer-nav.visible{transform:translate(0)}.teacher-drawer-header{display:flex;align-items:center;gap:12px;padding:20px 16px 16px;background:linear-gradient(135deg,var(--zen-primary) 0%,var(--zen-primary-dark) 100%);color:#fff}.teacher-drawer-avatar{width:44px;height:44px;border-radius:12px;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.teacher-drawer-info{flex:1;min-width:0}.teacher-drawer-name{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-drawer-level{font-size:12px;opacity:.8;margin-top:2px}.teacher-drawer-close{width:28px;height:28px;border:none;background:#fff3;color:#fff;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teacher-drawer-menu{flex:1;overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}.teacher-drawer-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;border-radius:10px;cursor:pointer;font-size:15px;color:var(--zen-text);transition:background .2s ease;text-align:left}.teacher-drawer-item:active{background:var(--zen-bg-soft)}.teacher-drawer-item.active{background:var(--zen-bg-soft);color:var(--zen-primary);font-weight:600}.teacher-drawer-item .drawer-icon{font-size:20px;width:28px;text-align:center;flex-shrink:0}.teacher-drawer-item .drawer-label{flex:1}.teacher-nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:199;animation:fadeIn .2s ease}.teacher-mobile .teacher-nav-overlay.visible{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.teacher-grid-panel{display:none;position:fixed;left:50%;top:50%;z-index:200;width:calc(100% - 24px);max-width:340px;background:var(--zen-card);border-radius:22px;box-shadow:0 20px 60px #00000040,0 4px 16px #0000001a;transform:translate(-50%,-50%) scale(.9);opacity:0;transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .2s ease;flex-direction:column;max-height:78vh;overflow:hidden;pointer-events:none}.teacher-grid-panel.visible{display:flex;transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}.teacher-menu-grid{display:flex!important;flex-wrap:wrap!important;gap:3px!important}.teacher-menu-grid>button{flex:0 1 calc(33.333% - 3px)!important;max-width:calc(33.333% - 3px)!important;min-width:0!important;width:auto!important;box-sizing:border-box!important;overflow:hidden!important}.teacher-stat-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}.teacher-mobile .teacher-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.teacher-stat-grid>div{min-width:0!important;overflow:hidden!important;box-sizing:border-box!important}.teacher-mobile .teacher-main-content{margin-left:0;padding-bottom:0}.teacher-mobile .teacher-top-bar{height:52px;padding:0 12px;position:sticky;top:0;z-index:90}.teacher-mobile .teacher-top-bar .top-bar-left{gap:8px}.teacher-mobile .teacher-top-bar .title-text{font-size:16px}.teacher-mobile .teacher-top-bar .title-icon{font-size:18px}.teacher-mobile .teacher-top-bar .ai-btn,.teacher-mobile .teacher-top-bar .toolbar-btn,.teacher-mobile .teacher-top-bar .user-avatar{display:none}.teacher-mobile .teacher-top-bar .top-bar-right{gap:8px}.teacher-mobile .teacher-top-bar .action-btn.logout-btn{padding:6px 12px;font-size:12px;height:32px}.teacher-mobile .teacher-top-bar .theme-btn-mobile{padding:6px 10px;border:1px solid var(--zen-border);background:var(--zen-card);border-radius:8px;font-size:16px;cursor:pointer;height:32px;width:32px;display:flex;align-items:center;justify-content:center}.teacher-mobile .theme-menu{position:fixed;top:52px;right:12px;left:12px;z-index:201}.teacher-mobile .theme-options{grid-template-columns:repeat(2,1fr)}.teacher-mobile .teacher-content-area{padding:10px;flex:1}.teacher-mobile .teacher-content-area .content-card-header{display:none}.teacher-mobile .teacher-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.teacher-mobile .teacher-content-area [style*=grid-template-columns]>*{min-width:0!important}.cancel-approve-btn{transition:background-color .15s ease,color .15s ease}.cancel-approve-btn:hover{background:#c84646!important;color:#fff!important}.mk-detail-modal{width:720px;max-width:94vw;max-height:90vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.mk-detail-header{padding:14px 22px;margin-bottom:0;border-bottom:1px solid var(--mac-border);flex-shrink:0}.mk-detail-title{margin:0;font-size:15px;font-weight:700;color:var(--mac-text);display:flex;align-items:baseline;gap:10px;min-width:0}.mk-detail-subtitle{font-size:13px;font-weight:500;color:var(--mac-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mk-detail-body{padding:18px 22px;overflow-y:auto;flex:1 1 auto;min-height:0}.mk-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mk-info-card{background:var(--mac-bg-soft);border-radius:10px;padding:8px 12px;min-width:0}.mk-span-2{grid-column:span 2}.mk-info-label{font-size:11px;color:var(--mac-text-secondary);margin-bottom:3px;white-space:nowrap}.mk-info-value{font-size:14px;color:var(--mac-text);font-weight:500;line-height:1.5;word-break:break-all;min-width:0}.mk-info-value.mk-amount{font-size:16px;font-weight:700;color:var(--mac-success);font-variant-numeric:tabular-nums}.mk-block{margin-top:14px}.mk-block-title{font-size:12px;font-weight:600;color:var(--mac-text-secondary);margin-bottom:6px}.mk-block-content{background:var(--mac-bg-soft);border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.7;color:var(--mac-text);white-space:pre-wrap;word-break:break-word}.mk-block-content.mk-reply-content{border-left:4px solid var(--mac-primary)}.mk-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mk-proof-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer;border:1px solid var(--mac-border);transition:transform .15s ease,box-shadow .15s ease}.mk-proof-grid img:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.mk-detail-footer{margin:0;padding:12px 22px;border-top:1px solid var(--mac-border);flex-shrink:0;background:var(--mac-sidebar)}.mk-reply-input{width:100%;box-sizing:border-box;resize:vertical;min-height:60px;padding:8px 10px;border:1px solid var(--mac-border);border-radius:8px;font-size:13px;font-family:inherit;line-height:1.5;color:var(--mac-text);background:var(--mac-sidebar);outline:none;transition:border-color .15s ease}.mk-reply-input:focus{border-color:var(--mac-primary)}.mk-footer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}@media (max-width: 640px){.mk-detail-modal{width:96vw;max-width:96vw;max-height:92vh}.mk-detail-header,.mk-detail-footer{padding-left:14px;padding-right:14px}.mk-detail-body{padding:14px}.mk-info-grid{grid-template-columns:minmax(0,1fr)}.mk-span-2{grid-column:span 1}.mk-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mk-detail-title{flex-direction:column;align-items:flex-start;gap:2px}}.teacher-mobile .teacher-stat-card{padding:14px;border-radius:12px}.teacher-mobile .teacher-stat-icon{width:40px;height:40px;font-size:20px;border-radius:10px}.teacher-mobile .teacher-stat-value{font-size:18px}.teacher-mobile .teacher-stat-label{font-size:11px}.teacher-mobile .teacher-stat-content{min-width:0}.teacher-mobile .teacher-content-card{border-radius:12px;margin-bottom:12px}.teacher-mobile .teacher-card-header{padding:14px 16px;flex-direction:column;gap:10px;align-items:flex-start}.teacher-mobile .teacher-card-title{font-size:15px}.teacher-mobile .teacher-card-actions{width:100%;flex-wrap:wrap}.teacher-mobile .teacher-btn{padding:6px 12px;font-size:12px}.teacher-mobile .teacher-card-body{padding:14px 16px}.teacher-mobile .teacher-course-list{grid-template-columns:1fr;gap:12px}.teacher-mobile .teacher-course-card{padding:14px;border-radius:10px}.teacher-mobile .course-card-header{margin-bottom:10px}.teacher-mobile .course-title{font-size:14px}.teacher-mobile .course-info{font-size:12px;gap:6px}.teacher-mobile .teacher-calendar{gap:3px}.teacher-mobile .calendar-day{border-radius:8px}.teacher-mobile .calendar-day-name{font-size:9px}.teacher-mobile .calendar-day-number{font-size:13px}.teacher-mobile .teacher-timeline{gap:10px}.teacher-mobile .timeline-item{padding:12px;gap:10px;border-radius:10px}.teacher-mobile .timeline-time{width:60px;font-size:12px}.teacher-mobile .timeline-course{font-size:13px}.teacher-mobile .timeline-location{font-size:11px}.teacher-mobile .teacher-income-chart{height:150px;padding:10px 0;gap:4px}.teacher-mobile .income-bar-track{width:24px;height:100px}.teacher-mobile .income-bar-value{font-size:9px}.teacher-mobile .income-bar-label{font-size:10px}.teacher-mobile .teacher-student-card{padding:12px;gap:10px;border-radius:10px}.teacher-mobile .student-avatar-wrapper{width:40px;height:40px}.teacher-mobile .student-avatar-letter{font-size:15px}.teacher-mobile .student-name{font-size:13px}.teacher-mobile .student-course{font-size:11px}.teacher-mobile .data-table{-webkit-overflow-scrolling:touch}.teacher-mobile .data-table table{font-size:12px}.teacher-mobile .data-table th,.teacher-mobile .data-table td{padding:8px 10px;white-space:nowrap}.teacher-mobile .pagination{flex-direction:row;justify-content:space-between;gap:8px}.teacher-mobile .pagination-btn{padding:8px 16px;font-size:13px}.teacher-mobile .pagination-info{font-size:12px}.teacher-mobile .modal-overlay{padding:0;align-items:flex-end}.teacher-mobile .meeting-modal{border-radius:16px 16px 0 0;max-width:100%;width:100%;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.teacher-mobile .meeting-modal .modal-header{position:sticky;top:0;flex-shrink:0;z-index:10;background:var(--zen-card)}.teacher-mobile .meeting-modal .modal-body{flex:1;overflow-y:auto}.teacher-mobile .meeting-modal .modal-footer{flex-shrink:0}.teacher-mobile .modal-content{border-radius:16px 16px 0 0;max-width:100%;width:100%;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.teacher-mobile .modal-content>.modal-header{position:sticky;top:0;flex-shrink:0;z-index:10;background:var(--zen-card)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.teacher-mobile .modal-header{padding:16px;position:relative}.teacher-mobile .modal-title{font-size:17px;padding-right:40px}.teacher-mobile .modal-close-btn{top:12px;right:12px;width:40px;height:40px;font-size:22px;background:#f3f4f6}.teacher-mobile .modal-close{width:40px;height:40px;font-size:22px}.teacher-mobile .modal-body{padding:16px}.teacher-mobile .modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.teacher-mobile .modal-close-btn-text,.teacher-mobile .modal-submit-btn{flex:1;padding:12px;font-size:15px}.teacher-mobile .modal-form-row{grid-template-columns:1fr!important}.teacher-mobile .detail-info-grid{grid-template-columns:1fr}.teacher-mobile .file-downloads{flex-direction:column}.teacher-mobile .teacher-page-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px 20px;border-radius:14px}.teacher-mobile .page-title{font-size:22px}.teacher-mobile .page-subtitle{font-size:13px}.teacher-mobile .page-stats{width:100%;justify-content:space-around;gap:12px}.teacher-mobile .stat-item{padding:8px 12px}.teacher-mobile .stat-number{font-size:22px}.teacher-mobile .stat-label{font-size:11px}.teacher-mobile .teacher-tabs{width:100%;padding:4px}.teacher-mobile .teacher-tab{flex:1;padding:10px 8px;font-size:13px;justify-content:center}.teacher-mobile .tab-badge{padding:1px 6px;font-size:10px}.teacher-mobile .meetings-grid{grid-template-columns:1fr;gap:12px}.teacher-mobile .meeting-card{padding:16px;border-radius:12px}.teacher-mobile .meeting-title{font-size:16px}.teacher-mobile .memo-cards-grid,.teacher-mobile .attendance-cards-grid{grid-template-columns:1fr;gap:12px}.teacher-mobile .memo-card,.teacher-mobile .attendance-card{padding:16px;border-radius:12px}.teacher-mobile .memo-card-header,.teacher-mobile .attendance-card-header{flex-direction:column;align-items:flex-start;gap:10px}.teacher-mobile .memo-card-actions,.teacher-mobile .attendance-card-actions{width:100%;display:flex;gap:8px}.teacher-mobile .memo-action-btn,.teacher-mobile .attendance-action-btn{flex:1;text-align:center}.teacher-mobile .create-btn,.teacher-mobile .btn-primary{width:100%;justify-content:center;margin-bottom:16px}.teacher-mobile .content-card{max-width:100%!important;margin:0!important;padding:12px!important;min-width:0!important}.teacher-content-area .content-card{min-width:0;overflow-x:hidden}.teacher-content-area .data-table,.teacher-content-area div[style*=overflowX]{min-width:0}.teacher-mobile-login .login-container{padding:20px}.teacher-mobile-login .login-card{width:100%;max-width:380px;padding:32px 24px;border-radius:16px}.teacher-mobile-login .login-title{font-size:20px}.teacher-mobile-login .login-input{padding:14px 16px;font-size:16px}.teacher-mobile .hide-mobile{display:none!important}.teacher-mobile .full-width-mobile{width:100%!important}.teacher-mobile .grid-cols-1-mobile{grid-template-columns:1fr!important}.teacher-mobile .teacher-main-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.teacher-mobile .teacher-bottom-nav,.teacher-mobile .teacher-top-bar{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.teacher-mobile .teacher-bottom-nav-item,.teacher-mobile .teacher-btn,.teacher-mobile .teacher-tab,.teacher-mobile .teacher-sidebar-item{min-height:44px}*{transition:none!important;animation:none!important}.loading-spinner{animation:spin 1s linear infinite!important}.detail-card{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:14px 16px;margin-bottom:12px;transition:box-shadow .15s}.detail-card:hover{box-shadow:0 2px 8px #0000000d}.detail-card-title{font-size:13px;font-weight:600;color:var(--mac-text);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f5f5f5;display:flex;align-items:center;gap:6px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.detail-item{display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.5}.detail-item .detail-label{font-size:11px;color:var(--mac-text-tertiary);font-weight:400}.detail-item .detail-value{font-size:13px;color:var(--mac-text);font-weight:500;word-break:break-all}@media (max-width: 768px){.modal-overlay{padding:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.modal-content{width:100vw!important;max-width:100vw!important;max-height:none!important;height:auto!important;min-height:100vh!important;margin:0!important;border-radius:0!important;display:block!important;overflow-y:visible!important;max-width:none!important}.modal-body{padding:16px!important;overflow-y:visible!important;max-height:none!important}.modal-header{position:sticky;top:0;z-index:10;background:#fff;padding:12px 16px!important}.modal-title{font-size:16px!important}.modal-actions{position:sticky;bottom:0;z-index:10;background:#fff;padding:12px 16px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;border-top:1px solid #f0f0f0}.modal-actions .btn{min-height:44px;padding:10px 16px;font-size:14px}.detail-grid{grid-template-columns:1fr;gap:8px 0}.detail-card{padding:12px;margin-bottom:10px}.detail-card-title{font-size:12px;margin-bottom:10px;padding-bottom:6px}.detail-item{font-size:12px}.detail-item .detail-label{font-size:11px}.detail-item .detail-value{font-size:13px}.form-grid{grid-template-columns:1fr!important;gap:10px!important}.form-input,.form-select,input[type=text],input[type=tel],input[type=date],select,textarea{width:100%!important;max-width:100%!important;font-size:16px!important}.modal-body div[style*="grid-template-columns: 1fr 1fr"],.modal-body div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;gap:10px!important}.tabs-nav{gap:4px;margin-bottom:16px}.tab-btn{padding:8px 12px;font-size:12px}}@media (max-width: 480px){.detail-grid{grid-template-columns:1fr}.modal-content{width:100vw!important;min-height:100vh!important;margin:0!important;border-radius:0!important}.modal-body{padding:14px!important}.modal-actions{flex-direction:column-reverse;gap:10px!important}.modal-actions .btn{width:100%;flex:none}}.student-form-tabs{display:flex;border-bottom:1px solid #e8e8e8;background-color:var(--mac-bg);padding:0 16px;border-radius:8px 8px 0 0;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.student-form-tab{padding:12px 16px;font-size:13px;font-weight:500;color:var(--mac-text-secondary);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap;flex-shrink:0}.student-form-tab.active{color:var(--zen-primary);font-weight:600;border-bottom-color:var(--zen-primary)}.student-form-tab:hover{color:var(--zen-primary)}.student-form-section{margin-bottom:20px}.student-form-section-title{font-size:13px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:6px;color:var(--mac-text)}.student-form-section-title:before{content:"";width:3px;height:14px;background-color:var(--zen-primary);border-radius:2px}.student-form-card{padding:14px 16px;background-color:var(--zen-bg-soft, #f8f7ff);border-radius:8px;border:1px solid var(--zen-primary, #e6e1ff);margin-bottom:16px}.student-form-card-title{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--zen-primary)}@media (max-width: 768px){.student-form-tabs{padding:0 8px;margin-bottom:12px}.student-form-tab{padding:10px 12px;font-size:12px}.student-form-section{margin-bottom:16px}.student-form-card{padding:12px;margin-bottom:12px}.modal-body div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important;gap:12px!important}.form-group{margin-bottom:12px}.form-label{font-size:13px;margin-bottom:6px}.form-input{width:100%;padding:10px 12px;font-size:16px}}.student-edit-modal{width:720px;max-width:94vw;max-height:calc(100vh - 60px);display:flex;flex-direction:column;padding:16px 20px 0}.student-edit-modal .modal-header{padding:4px 0 8px;margin-bottom:0;flex-shrink:0}.student-edit-modal .modal-title{font-size:15px}.student-edit-modal .student-form-tabs{padding:0;margin:0 -20px;flex-shrink:0}.student-edit-modal .student-form-tab{padding:9px 14px;font-size:12px}.student-edit-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0 0!important;-webkit-overflow-scrolling:touch}.student-edit-form{display:flex;flex-direction:column;min-height:0}.student-tab-container{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.student-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.student-grid-1{display:grid;grid-template-columns:1fr;gap:8px 12px}.student-edit-modal .student-form-card{padding:10px 12px;margin-bottom:0;border-radius:6px}.student-edit-modal .student-form-card-title{font-size:12px;margin-bottom:8px}.student-edit-modal .student-form-section{margin-bottom:0}.student-edit-modal .student-form-section-title{font-size:12px;margin-bottom:8px}.student-edit-modal .form-group{margin-bottom:0}.student-edit-modal .form-label{font-size:12px;margin-bottom:4px;line-height:1.2}.student-edit-modal .form-input{padding:7px 10px;font-size:13px;min-height:32px;line-height:1.3}.student-edit-modal textarea.form-input{min-height:60px;resize:vertical;padding:7px 10px;line-height:1.4}.student-edit-modal .form-group[style*="grid-column: 1 / -1"]{grid-column:1 / -1}.student-edit-footer{margin-top:12px;padding:10px 0;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:8px}.student-edit-hint{font-size:11px;color:var(--mac-text-secondary);line-height:1.3}.student-edit-modal .modal-actions{display:flex;gap:8px;margin:0;padding:0}.student-edit-modal .modal-actions .btn{padding:7px 18px;font-size:13px;min-height:32px}@media (max-width: 768px){.student-edit-modal{width:96vw!important;max-width:96vw!important;max-height:96vh;margin:2vh auto;padding:12px 14px 0}.student-grid-2{grid-template-columns:1fr!important;gap:10px!important}.student-edit-footer{flex-direction:column;align-items:stretch;gap:10px}.student-edit-footer .modal-actions{justify-content:flex-end}.student-edit-modal .form-input{font-size:16px;padding:10px 12px;min-height:40px}}.student-view-modal{width:720px;max-width:94vw;max-height:calc(100vh - 60px);display:flex;flex-direction:column;padding:16px 20px 0}.student-view-modal .modal-header{padding:0 0 10px;margin-bottom:0;flex-shrink:0}.student-view-head{display:flex;align-items:center;gap:12px}.student-view-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.student-view-head-text{flex:1;min-width:0}.student-view-name{font-size:16px;font-weight:600;line-height:1.25}.student-view-phone{font-size:12px;color:var(--mac-text-secondary);font-family:monospace;line-height:1.3}.student-view-status{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;flex-shrink:0;white-space:nowrap}.student-view-status.active{background-color:var(--zen-success-bg, #e6f7ed);color:var(--zen-success)}.student-view-status.graduated{background-color:var(--zen-warning-bg, #fff7e6);color:var(--zen-warning)}.student-view-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 0 0!important;-webkit-overflow-scrolling:touch}.student-view-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.student-view-stat{padding:8px 6px;background-color:var(--zen-bg-soft);border-radius:6px;text-align:center}.student-view-stat-label{font-size:11px;color:var(--mac-text-secondary);margin-bottom:3px;line-height:1.2}.student-view-stat-value{font-size:14px;font-weight:600;line-height:1.3;word-break:break-all}.student-view-tabs{display:flex;gap:2px;border-bottom:1px solid var(--mac-border);margin-bottom:10px;overflow-x:auto;flex-shrink:0}.student-view-tab{padding:7px 10px;background:none;border:none;border-bottom:2px solid transparent;color:var(--mac-text-secondary);font-size:12px;cursor:pointer;white-space:nowrap;margin-bottom:-1px;font-weight:400;transition:all .15s}.student-view-tab:hover{color:var(--mac-accent)}.student-view-tab.active{border-bottom-color:var(--mac-accent);color:var(--mac-accent);font-weight:500}.student-view-detail-card{padding:10px 12px;margin-bottom:0!important;border-radius:6px}.student-view-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.student-view-detail-grid .detail-item{padding:5px 0;margin:0}.student-view-detail-grid .detail-item.full{grid-column:1 / -1}.student-view-detail-grid .detail-label{font-size:11px;color:var(--mac-text-secondary);margin-bottom:2px;line-height:1.2}.student-view-detail-grid .detail-value{font-size:13px;color:var(--mac-text);line-height:1.35;word-break:break-word}.student-view-detail-grid .detail-value.mono{font-family:monospace}.student-view-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #f0f0f0;margin-top:10px;flex-shrink:0}.student-view-footer .btn{padding:7px 16px;font-size:13px;min-height:32px}@media (max-width: 768px){.student-view-modal{width:96vw!important;max-width:96vw!important;max-height:96vh;margin:2vh auto;padding:12px 14px 0}.student-view-stats{grid-template-columns:repeat(2,1fr)!important}.student-view-detail-grid{grid-template-columns:1fr!important;gap:8px!important}.student-view-footer{flex-direction:column;align-items:stretch;gap:8px}.student-view-footer .btn{width:100%}}@media (max-width: 480px){.student-cards-grid{grid-template-columns:1fr}}@keyframes ai-thinking-blink{0%,20%{opacity:.2}50%{opacity:1}to{opacity:.2}}.ai-thinking-dots{display:inline-block;animation:ai-thinking-blink 1.2s infinite}.sp-wechat-btn:hover{background:#f0fdf4!important;border-color:#06ad56!important;box-shadow:0 4px 12px #07c16026}.sp-wechat-btn:active{transform:translateY(1px);background:#dcfce7!important}
