[data-v-dee70092]{box-sizing:border-box;margin:0;padding:0}.dashboard[data-v-dee70092]{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column}.dashboard-header[data-v-dee70092]{padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;animation:gradientShift-dee70092 15s ease infinite;background-size:200% 200%}@keyframes gradientShift-dee70092{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.user-info[data-v-dee70092]{display:flex;align-items:center;gap:16px;animation:slideInLeft-dee70092 .8s ease-out}@keyframes slideInLeft-dee70092{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.avatar[data-v-dee70092]{width:56px;height:56px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #00000026;overflow:hidden}.avatar-img[data-v-dee70092]{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-name[data-v-dee70092]{font-size:18px;font-weight:600;margin:0 0 2px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.user-dept[data-v-dee70092]{font-size:12px;opacity:.9;margin:0;font-weight:400}.dashboard-content[data-v-dee70092]{flex:1;padding:20px 16px;padding-bottom:calc(80px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.loading-state[data-v-dee70092]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#999}.loading-state .spinner[data-v-dee70092]{width:40px;height:40px;border:3px solid #e8e8e8;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.loading-state p[data-v-dee70092]{font-size:14px}.stats-section[data-v-dee70092]{margin-bottom:24px;animation:fadeInUp-dee70092 .8s ease-out .2s both}@keyframes fadeInUp-dee70092{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-grid[data-v-dee70092]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-card[data-v-dee70092]{background:#fff;border-radius:16px;padding:20px 16px;display:flex;align-items:center;box-shadow:0 4px 16px #00000014;cursor:pointer;transition:all .3s ease;border:1px solid #f1f5f9;position:relative;overflow:hidden}.stat-card[data-v-dee70092]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s ease}.stat-card[data-v-dee70092]:hover:before{left:100%}.stat-card[data-v-dee70092]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#667eea}.stat-icon[data-v-dee70092]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-right:16px;flex-shrink:0;box-shadow:0 4px 12px #00000014}.stat-icon.approval[data-v-dee70092]{background:linear-gradient(135deg,#e6f7ff,#bae7ff);color:#1890ff}.stat-icon.notice[data-v-dee70092]{background:linear-gradient(135deg,#fff7e6,#ffd591);color:#fa8c16}.stat-icon.personnel[data-v-dee70092]{background:linear-gradient(135deg,#f6ffed,#b7eb8f);color:#52c41a}.stat-icon.material[data-v-dee70092]{background:linear-gradient(135deg,#f9f0ff,#d3adf7);color:#722ed1}.stat-value[data-v-dee70092]{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 4px;line-height:1.2}.stat-label[data-v-dee70092]{font-size:14px;color:#64748b;margin:0;font-weight:500}.quick-access[data-v-dee70092]{background:#fff;border-radius:16px;padding:20px 16px;margin-bottom:20px;box-shadow:0 4px 16px #00000014;border:1px solid #f1f5f9;animation:fadeInUp-dee70092 .8s ease-out .4s both}.section-title[data-v-dee70092]{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 20px;display:flex;align-items:center;gap:8px}.section-title[data-v-dee70092]:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.access-grid[data-v-dee70092]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.access-item[data-v-dee70092]{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s ease;padding:10px 8px;border-radius:12px;min-height:100px}.access-item[data-v-dee70092]:hover{transform:translateY(-4px);background:#f8fafc}.access-icon[data-v-dee70092]{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 4px 12px #00000014}.access-icon.approval[data-v-dee70092]{background:linear-gradient(135deg,#e6f7ff,#bae7ff);color:#1890ff}.access-icon.personnel[data-v-dee70092]{background:linear-gradient(135deg,#f6ffed,#b7eb8f);color:#52c41a}.access-icon.material[data-v-dee70092]{background:linear-gradient(135deg,#f9f0ff,#d3adf7);color:#722ed1}.access-icon.stock[data-v-dee70092]{background:linear-gradient(135deg,#fff2e8,#ffc591);color:#fa541c}.access-icon.project[data-v-dee70092]{background:linear-gradient(135deg,#e6fffb,#87e8de);color:#13c2c2}.access-icon.attendance[data-v-dee70092]{background:linear-gradient(135deg,#fff0f6,#ffadd2);color:#eb2f96}.access-icon.finance[data-v-dee70092]{background:linear-gradient(135deg,#f6ffed,#b7eb8f);color:#52c41a}.access-icon.construction[data-v-dee70092]{background:linear-gradient(135deg,#fff7e6,#ffd591);color:#fa8c16}.access-label[data-v-dee70092]{font-size:12px;color:#475569;font-weight:500;text-align:center;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.recent-notice[data-v-dee70092]{background:#fff;border-radius:16px;padding:20px 16px;box-shadow:0 4px 16px #00000014;border:1px solid #f1f5f9;animation:fadeInUp-dee70092 .8s ease-out .6s both;margin-bottom:20px}.section-header[data-v-dee70092]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.view-more[data-v-dee70092]{font-size:14px;color:#667eea;cursor:pointer;transition:all .3s ease;font-weight:500;padding:4px 8px;border-radius:8px}.view-more[data-v-dee70092]:hover{background:#667eea1a;color:#764ba2}.notice-list[data-v-dee70092]{display:flex;flex-direction:column;gap:8px}.notice-item[data-v-dee70092]{display:flex;align-items:flex-start;padding:16px;border-radius:12px;cursor:pointer;transition:all .3s ease;background:#f8fafc;border:1px solid #f1f5f9}.notice-item[data-v-dee70092]:hover{transform:translate(4px);background:#f1f5f9;border-color:#e2e8f0}.notice-dot[data-v-dee70092]{width:10px;height:10px;border-radius:50%;background:#cbd5e1;margin-right:12px;margin-top:6px;flex-shrink:0}.notice-dot.unread[data-v-dee70092]{background:#ef4444;box-shadow:0 0 0 4px #ef44441a}.notice-content[data-v-dee70092]{flex:1;min-width:0}.notice-title[data-v-dee70092]{font-size:15px;color:#1e293b;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.notice-time[data-v-dee70092]{font-size:13px;color:#94a3b8;margin:0;font-weight:400}@media (max-width: 480px){.dashboard-content[data-v-dee70092]{padding:16px 12px;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.stats-grid[data-v-dee70092]{gap:12px}.stat-card[data-v-dee70092]{padding:16px 12px}.stat-icon[data-v-dee70092]{width:48px;height:48px}.stat-value[data-v-dee70092]{font-size:24px}.access-grid[data-v-dee70092]{gap:12px}.access-icon[data-v-dee70092]{width:48px;height:48px}.quick-access[data-v-dee70092],.recent-notice[data-v-dee70092]{padding:16px 12px}.section-title[data-v-dee70092]{font-size:16px}}@media (prefers-color-scheme: dark){.dashboard[data-v-dee70092]{background:#0f172a}.stat-card[data-v-dee70092],.quick-access[data-v-dee70092],.recent-notice[data-v-dee70092]{background:#1e293b;border-color:#334155}.stat-value[data-v-dee70092],.section-title[data-v-dee70092],.access-label[data-v-dee70092],.notice-title[data-v-dee70092]{color:#f8fafc}.stat-label[data-v-dee70092],.notice-time[data-v-dee70092]{color:#94a3b8}.notice-item[data-v-dee70092]{background:#334155;border-color:#475569}.notice-item[data-v-dee70092]:hover{background:#475569;border-color:#64748b}.access-item[data-v-dee70092]:hover{background:#334155}}.page-container[data-v-bfc65021]{display:flex;flex-direction:column;height:100vh;background:#f5f7fa}.dashboard-header[data-v-bfc65021]{display:flex;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.user-info[data-v-bfc65021]{display:flex;align-items:center;gap:12px}.avatar[data-v-bfc65021]{width:48px;height:48px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-img[data-v-bfc65021]{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-name[data-v-bfc65021]{font-size:18px;font-weight:600;margin:0 0 4px}.user-dept[data-v-bfc65021]{font-size:13px;opacity:.8;margin:0}.page-content[data-v-bfc65021]{flex:1;overflow-y:auto;padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.loading[data-v-bfc65021]{text-align:center;padding:60px 20px;color:#999}.spinner[data-v-bfc65021]{width:40px;height:40px;border:3px solid #e8e8e8;border-top-color:#667eea;border-radius:50%;animation:spin-bfc65021 .8s linear infinite;margin:0 auto 16px}@keyframes spin-bfc65021{to{transform:rotate(360deg)}}.quick-access[data-v-bfc65021]{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.section-title[data-v-bfc65021]{font-size:16px;font-weight:600;color:#333;margin:0 0 16px}.access-grid[data-v-bfc65021]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.access-item[data-v-bfc65021]{display:flex;flex-direction:column;align-items:center;cursor:pointer}.access-icon[data-v-bfc65021]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.access-label[data-v-bfc65021]{font-size:12px;color:#666;text-align:center;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.page-container[data-v-39f8af57]{display:flex;flex-direction:column;height:100%;background:#f5f7fa}.page-header[data-v-39f8af57]{display:flex;align-items:center;justify-content:space-between;height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.title[data-v-39f8af57]{font-size:18px;font-weight:600;margin:0;flex:1;text-align:center}.placeholder[data-v-39f8af57]{width:40px}.page-content[data-v-39f8af57]{flex:1;overflow-y:auto;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.message-tabs[data-v-39f8af57]{display:flex;background:#fff;border-bottom:1px solid #f0f0f0;margin-bottom:16px}.tab-item[data-v-39f8af57]{flex:1;text-align:center;padding:16px 0;font-size:14px;color:#666;position:relative;cursor:pointer;transition:color .2s}.tab-item.active[data-v-39f8af57]{color:#667eea;font-weight:600}.tab-item.active[data-v-39f8af57]:after{content:"";position:absolute;bottom:0;left:25%;width:50%;height:2px;background:#667eea}.tab-badge[data-v-39f8af57]{position:absolute;top:8px;right:calc(50% - 20px);background:#ff4d4f;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-weight:600}.message-section[data-v-39f8af57]{padding:0 16px}.empty-state[data-v-39f8af57]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;color:#999}.empty-state svg[data-v-39f8af57]{margin-bottom:16px;opacity:.5}.empty-state p[data-v-39f8af57]{font-size:14px;margin:0}.message-list[data-v-39f8af57]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.message-item[data-v-39f8af57]{display:flex;align-items:flex-start;padding:16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s;position:relative}.message-item[data-v-39f8af57]:last-child{border-bottom:none}.message-item[data-v-39f8af57]:active{background-color:#f5f7fa}.message-item.unread[data-v-39f8af57]{background-color:#f6ffed}.message-icon[data-v-39f8af57]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.message-icon.approval[data-v-39f8af57]{background:#e6f7ff;color:#1890ff}.message-icon.notice[data-v-39f8af57]{background:#fff7e6;color:#fa8c16}.message-icon.system[data-v-39f8af57]{background:#e8f5ff;color:#1890ff}.message-body[data-v-39f8af57]{flex:1;min-width:0}.message-title[data-v-39f8af57]{font-size:15px;font-weight:600;color:#333;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-desc[data-v-39f8af57]{font-size:13px;color:#666;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-time[data-v-39f8af57]{font-size:12px;color:#999;margin:0}.message-badge[data-v-39f8af57]{background:#ff4d4f;color:#fff;font-size:12px;padding:2px 8px;border-radius:10px;font-weight:600;flex-shrink:0}.message-dot[data-v-39f8af57]{position:absolute;top:20px;right:16px;width:8px;height:8px;border-radius:50%;background:#ff4d4f}.page-container[data-v-486f9b85]{display:flex;flex-direction:column;height:100%;background:#f5f7fa}.page-header[data-v-486f9b85]{display:flex;align-items:center;justify-content:space-between;height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.title[data-v-486f9b85]{font-size:18px;font-weight:600;margin:0;flex:1;text-align:center}.placeholder[data-v-486f9b85]{width:40px}.page-content[data-v-486f9b85]{flex:1;overflow-y:auto;padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.user-card[data-v-486f9b85]{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px;color:#fff;margin-bottom:20px;box-shadow:0 4px 12px #0000001a}.user-avatar[data-v-486f9b85]{width:80px;height:80px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;position:relative;cursor:pointer;overflow:hidden}.avatar-img[data-v-486f9b85]{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-overlay[data-v-486f9b85]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:0;transition:opacity .2s}.user-avatar:active .avatar-overlay[data-v-486f9b85]{opacity:1}.user-name[data-v-486f9b85]{font-size:20px;font-weight:600;text-align:center;margin:0 0 8px}.user-dept[data-v-486f9b85]{font-size:14px;opacity:.8;text-align:center;margin:0}.function-list[data-v-486f9b85]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.function-item[data-v-486f9b85]{display:flex;align-items:center;padding:16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s}.function-item[data-v-486f9b85]:last-child{border-bottom:none}.function-item[data-v-486f9b85]:active{background-color:#f5f7fa}.function-item.logout[data-v-486f9b85]{color:#ff4d4f}.function-icon[data-v-486f9b85]{width:24px;height:24px;margin-right:12px;display:flex;align-items:center;justify-content:center}.function-label[data-v-486f9b85]{flex:1;font-size:15px;color:#333}.function-item.logout .function-label[data-v-486f9b85]{color:#ff4d4f}.function-arrow[data-v-486f9b85]{color:#999}.action-sheet-mask[data-v-486f9b85]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.action-sheet[data-v-486f9b85]{width:100%;max-width:500px;background:#fff;border-radius:16px 16px 0 0;padding:0 0 env(safe-area-inset-bottom);animation:slideUp-486f9b85 .25s ease-out}@keyframes slideUp-486f9b85{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-title[data-v-486f9b85]{text-align:center;font-size:14px;color:#999;padding:16px;border-bottom:1px solid #f0f0f0}.action-sheet-item[data-v-486f9b85]{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-size:16px;color:#333;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s}.action-sheet-item[data-v-486f9b85]:active{background:#f5f5f5}.action-sheet-cancel[data-v-486f9b85]{text-align:center;padding:16px;font-size:16px;color:#ff4d4f;cursor:pointer;margin-top:6px;transition:background .2s}.action-sheet-cancel[data-v-486f9b85]:active{background:#f5f5f5}.app[data-v-84f1742b]{height:100%;min-height:100vh;display:flex;flex-direction:column}.app>router-view[data-v-84f1742b]{flex:1;position:relative;overflow:hidden}.slide-enter-active[data-v-84f1742b]{transition:all .3s ease}.slide-leave-active[data-v-84f1742b]{position:absolute;width:100%;transition:all .3s ease;pointer-events:none;touch-action:none}.slide-enter-from[data-v-84f1742b]{opacity:0;transform:translate(30px)}.slide-leave-to[data-v-84f1742b]{opacity:0;transform:translate(-30px)}.bottom-nav[data-v-84f1742b]{position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;justify-content:space-around;align-items:center;box-shadow:0 -2px 10px #0000000d;border-top:1px solid #f0f0f0;z-index:100}.nav-item[data-v-84f1742b]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#999;font-size:10px;flex:1;height:100%;position:relative;transition:color .2s}.nav-item.router-link-active[data-v-84f1742b]{color:#667eea}.nav-item svg[data-v-84f1742b]{margin-bottom:2px}.nav-badge[data-v-84f1742b]{position:absolute;top:4px;right:calc(50% - 20px);background:#ff4d4f;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-weight:600}.global-loading[data-v-84f1742b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner[data-v-84f1742b]{text-align:center}.loading-spinner .spinner[data-v-84f1742b]{width:40px;height:40px;border:3px solid #e8e8e8;border-top-color:#667eea;border-radius:50%;animation:spin-84f1742b .8s linear infinite;margin:0 auto 12px}.loading-spinner p[data-v-84f1742b]{color:#666;font-size:14px}@keyframes spin-84f1742b{to{transform:rotate(360deg)}}.network-toast[data-v-84f1742b]{position:fixed;top:calc(env(safe-area-inset-top) + 10px);left:50%;transform:translate(-50%);background:#ff4d4f;color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;display:flex;align-items:center;gap:6px;z-index:9998;animation:fadeIn-84f1742b .3s ease}@keyframes fadeIn-84f1742b{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--primary-color: #667eea;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-light: #e0e7ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--info-color: #1890ff;--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #999999;--text-white: #ffffff;--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-tertiary: #f0f2f5;--border-color: #e8e8e8;--border-light: #f0f0f0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right);--header-height: 56px;--tabbar-height: 56px;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary)}#app{height:100%}.page-container{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary)}.page-header{display:flex;align-items:center;justify-content:space-between;height:calc(var(--header-height) + var(--safe-top));padding:var(--safe-top) 16px 0;background:var(--primary-gradient);color:var(--text-white);flex-shrink:0}.page-header .back-btn,.page-header .action-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-white);cursor:pointer}.page-header .title{flex:1;text-align:center;font-size:18px;font-weight:600}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.card{background:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);margin:12px;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-light)}.card-title{font-size:16px;font-weight:600;color:var(--text-primary)}.card-body{padding:16px}.list-item{display:flex;align-items:center;padding:16px;background:var(--bg-primary);border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .2s}.list-item:active{background:var(--bg-tertiary)}.list-item:last-child{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:var(--border-radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary-gradient);color:var(--text-white)}.btn-primary:active{opacity:.9;transform:scale(.98)}.btn-success{background:var(--success-color);color:var(--text-white)}.btn-warning{background:var(--warning-color);color:var(--text-white)}.btn-error{background:var(--error-color);color:var(--text-white)}.btn-block{width:100%}.btn-large{padding:14px 32px;font-size:16px}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:14px;background:var(--bg-primary);transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-color)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-tertiary)}.empty-icon{width:80px;height:80px;margin-bottom:16px;opacity:.5}.tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.tag-primary{background:var(--primary-light);color:var(--primary-color)}.tag-success{background:#f6ffed;color:var(--success-color)}.tag-warning{background:#fff7e6;color:var(--warning-color)}.tag-error{background:#fff1f0;color:var(--error-color)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:9px;font-size:11px;font-weight:600;background:var(--error-color);color:var(--text-white)}.safe-bottom{padding-bottom:var(--safe-bottom)}::-webkit-scrollbar{display:none}@media (prefers-color-scheme: dark){:root{--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-tertiary: #808080;--bg-primary: #1a1a1a;--bg-secondary: #121212;--bg-tertiary: #2a2a2a;--border-color: #333333;--border-light: #2a2a2a}}
