:root{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-success: #10b981;--color-success-light: #34d399;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-error: #ef4444;--color-error-light: #f87171;--color-info: #3b82f6;--color-info-light: #60a5fa;--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-gray-800);background-color:#eef0f7;background-image:radial-gradient(ellipse at 20% 0%,rgba(102,126,234,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(118,75,162,.06) 0%,transparent 60%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 0%,var(--color-gray-300) 50%,var(--color-gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}@media(max-width:768px){:root{--mobile-bg: #f5f7ff;--mobile-bg-secondary: #ffffff;--mobile-bg-tertiary: #eef0f7;--mobile-card-bg: #ffffff;--mobile-card-border: 1px solid #e5e7eb;--mobile-card-hover-bg: #f9fafb;--mobile-card-hover-border: #d1d5db;--mobile-card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--mobile-text-primary: #111827;--mobile-text-secondary: #6b7280;--mobile-text-muted: #9ca3af;--mobile-accent-gradient: linear-gradient(135deg, #6366f1 0%, #7c3aed 100%);--mobile-accent-start: #6366f1;--mobile-accent-end: #7c3aed;--mobile-accent-glow: rgba(99, 102, 241, .25);--mobile-success: #10b981;--mobile-success-bg: #d1fae5;--mobile-success-border: #6ee7b7;--mobile-success-glow: rgba(16, 185, 129, .2);--mobile-warning: #f59e0b;--mobile-warning-bg: #fef3c7;--mobile-warning-border: #fcd34d;--mobile-warning-glow: rgba(245, 158, 11, .2);--mobile-danger: #ef4444;--mobile-danger-bg: #fee2e2;--mobile-danger-border: #fca5a5;--mobile-danger-glow: rgba(239, 68, 68, .2);--mobile-info: #3b82f6;--mobile-info-bg: #dbeafe;--mobile-info-border: #93c5fd;--mobile-info-glow: rgba(59, 130, 246, .2);--mobile-content-pt: calc(56px + env(safe-area-inset-top)) ;--mobile-content-pb: calc(64px + env(safe-area-inset-bottom)) ;--mobile-touch-target: 44px;--mobile-input-bg: #f9fafb;--mobile-input-border: rgba(0, 0, 0, .15);--mobile-input-focus-border: #6366f1;--mobile-input-focus-glow: rgba(99, 102, 241, .2)}body{background-color:#f5f7ff;background-image:none;color:#111827}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mobile-nav-wrapper[data-v-d9b26b5a]{display:none}@media(max-width:768px){.mobile-nav-wrapper[data-v-d9b26b5a]{display:block}.bottom-tab-bar[data-v-d9b26b5a]{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:stretch;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 10px #00000014;padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom))}.tab-item[data-v-d9b26b5a]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 6px;text-decoration:none;color:#9ca3af;background:transparent;border:none;cursor:pointer;position:relative;transition:color .22s ease;-webkit-tap-highlight-color:transparent;outline:none;font-family:inherit}.tab-item[data-v-d9b26b5a]:active{transform:scale(.92);transition:transform .1s ease,color .22s ease}.tab-item.tab-active[data-v-d9b26b5a]{color:#6366f1}.tab-icon[data-v-d9b26b5a]{font-size:1.35rem;line-height:1;position:relative;z-index:1;transition:transform .22s cubic-bezier(.34,1.56,.64,1);display:block}.tab-item.tab-active .tab-icon[data-v-d9b26b5a]{transform:translateY(-1px) scale(1.12)}.tab-label[data-v-d9b26b5a]{font-size:.6rem;font-weight:500;letter-spacing:.3px;position:relative;z-index:1;transition:font-weight .15s ease;white-space:nowrap}.tab-item.tab-active .tab-label[data-v-d9b26b5a]{font-weight:700;color:#6366f1}.tab-item.tab-active[data-v-d9b26b5a]:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#6366f1;border-radius:100px}.sheet-backdrop[data-v-d9b26b5a]{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1001}.more-sheet[data-v-d9b26b5a]{position:fixed;bottom:0;left:0;right:0;z-index:1002;background:#fff;border-top:1px solid #e5e7eb;border-radius:22px 22px 0 0;box-shadow:0 -4px 24px #0000001a;padding:0;will-change:transform}.sheet-handle[data-v-d9b26b5a]{width:40px;height:4px;background:#d1d5db;border-radius:100px;margin:12px auto 0;cursor:pointer;transition:background .2s}.sheet-handle[data-v-d9b26b5a]:hover{background:#9ca3af}.sheet-title[data-v-d9b26b5a]{font-size:.78rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#9ca3af;padding:14px 20px 10px}.sheet-items[data-v-d9b26b5a]{padding:0 12px}.sheet-item[data-v-d9b26b5a]{display:flex;align-items:center;gap:14px;width:100%;padding:13px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:8px;text-decoration:none;color:#111827;cursor:pointer;font-family:inherit;font-size:1rem;text-align:left;transition:background .18s ease,border-color .18s ease,transform .12s ease;-webkit-tap-highlight-color:transparent;outline:none}.sheet-item[data-v-d9b26b5a]:active{transform:scale(.975);background:#f3f4f6}.sheet-item.sheet-item-active[data-v-d9b26b5a]{background:#ede9fe;border-color:#c4b5fd}.sheet-item-icon[data-v-d9b26b5a]{font-size:1.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:10px;flex-shrink:0}.sheet-item-text[data-v-d9b26b5a]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sheet-item-label[data-v-d9b26b5a]{font-size:.95rem;font-weight:600;color:#111827;line-height:1.2}.sheet-item-desc[data-v-d9b26b5a]{font-size:.72rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-item-arrow[data-v-d9b26b5a]{font-size:1.4rem;color:#d1d5db;line-height:1}.sheet-push[data-v-d9b26b5a]{background:#f0fdf4;border-color:#bbf7d0}.sheet-push.sheet-push-active[data-v-d9b26b5a]{background:#ecfdf5;border-color:#6ee7b7}.sheet-push[data-v-d9b26b5a]:disabled{opacity:.6}.sheet-push-toggle[data-v-d9b26b5a]{font-size:.65rem;font-weight:800;padding:3px 8px;border-radius:20px;background:#d1d5db;color:#6b7280;letter-spacing:.5px;flex-shrink:0}.sheet-push-toggle.on[data-v-d9b26b5a]{background:#10b981;color:#fff}.sheet-logout[data-v-d9b26b5a]{background:#fff5f5;border-color:#fecaca}.sheet-logout .sheet-item-label[data-v-d9b26b5a]{color:#ef4444}.sheet-logout .sheet-item-icon[data-v-d9b26b5a],.sheet-logout[data-v-d9b26b5a]:active{background:#fee2e2}.sheet-divider[data-v-d9b26b5a]{height:1px;background:#e5e7eb;margin:4px 12px 12px}.sheet-safe-area[data-v-d9b26b5a]{height:calc(80px + env(safe-area-inset-bottom))}.sheet-backdrop-enter-active[data-v-d9b26b5a],.sheet-backdrop-leave-active[data-v-d9b26b5a]{transition:opacity .28s ease}.sheet-backdrop-enter-from[data-v-d9b26b5a],.sheet-backdrop-leave-to[data-v-d9b26b5a]{opacity:0}.sheet-slide-enter-active[data-v-d9b26b5a]{transition:transform .35s cubic-bezier(.32,.72,0,1),opacity .28s ease}.sheet-slide-leave-active[data-v-d9b26b5a]{transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .22s ease}.sheet-slide-enter-from[data-v-d9b26b5a],.sheet-slide-leave-to[data-v-d9b26b5a]{transform:translateY(100%);opacity:0}}.admin-nav-wrapper[data-v-5257b492]{display:none}@media(max-width:768px){.admin-nav-wrapper[data-v-5257b492]{display:block}.bottom-tab-bar[data-v-5257b492]{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:stretch;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 10px #00000014;padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom))}.tab-item[data-v-5257b492]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 6px;text-decoration:none;color:#9ca3af;background:transparent;border:none;cursor:pointer;position:relative;transition:color .22s ease;-webkit-tap-highlight-color:transparent;outline:none;font-family:inherit}.tab-item[data-v-5257b492]:active{transform:scale(.92);transition:transform .1s ease,color .22s ease}.tab-item.tab-active[data-v-5257b492]{color:#6366f1}.tab-icon[data-v-5257b492]{font-size:1.35rem;line-height:1;position:relative;z-index:1;transition:transform .22s cubic-bezier(.34,1.56,.64,1);display:block}.tab-item.tab-active .tab-icon[data-v-5257b492]{transform:translateY(-1px) scale(1.12)}.tab-label[data-v-5257b492]{font-size:.6rem;font-weight:500;letter-spacing:.3px;position:relative;z-index:1;transition:font-weight .15s ease;white-space:nowrap}.tab-item.tab-active .tab-label[data-v-5257b492]{font-weight:700;color:#6366f1}.tab-item.tab-active[data-v-5257b492]:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#6366f1;border-radius:100px}.sheet-backdrop[data-v-5257b492]{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1001}.more-sheet[data-v-5257b492]{position:fixed;bottom:0;left:0;right:0;z-index:1002;background:#fff;border-top:1px solid #e5e7eb;border-radius:22px 22px 0 0;box-shadow:0 -4px 24px #0000001a;will-change:transform}.sheet-handle[data-v-5257b492]{width:40px;height:4px;background:#d1d5db;border-radius:100px;margin:12px auto 0;cursor:pointer;transition:background .2s}.sheet-handle[data-v-5257b492]:hover{background:#9ca3af}.sheet-user[data-v-5257b492]{display:flex;align-items:center;gap:12px;padding:16px 20px 8px}.sheet-avatar[data-v-5257b492]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.sheet-user-info[data-v-5257b492]{display:flex;flex-direction:column;gap:2px}.sheet-user-name[data-v-5257b492]{font-weight:700;font-size:.95rem;color:#111827}.sheet-user-role[data-v-5257b492]{font-size:.72rem;color:#6366f1;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.sheet-title[data-v-5257b492]{font-size:.78rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#9ca3af;padding:10px 20px 8px}.sheet-items[data-v-5257b492]{padding:0 12px}.sheet-item[data-v-5257b492]{display:flex;align-items:center;gap:14px;width:100%;padding:13px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:8px;text-decoration:none;color:#111827;cursor:pointer;font-family:inherit;font-size:1rem;text-align:left;transition:background .18s ease,border-color .18s ease,transform .12s ease;-webkit-tap-highlight-color:transparent;outline:none}.sheet-item[data-v-5257b492]:active{transform:scale(.975);background:#f3f4f6}.sheet-item.sheet-item-active[data-v-5257b492]{background:#ede9fe;border-color:#c4b5fd}.sheet-item-icon[data-v-5257b492]{font-size:1.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:10px;flex-shrink:0}.sheet-item-text[data-v-5257b492]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sheet-item-label[data-v-5257b492]{font-size:.95rem;font-weight:600;color:#111827;line-height:1.2}.sheet-item-desc[data-v-5257b492]{font-size:.72rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-item-arrow[data-v-5257b492]{font-size:1.4rem;color:#d1d5db;line-height:1}.sheet-logout[data-v-5257b492]{background:#fff5f5;border-color:#fecaca}.sheet-logout .sheet-item-label[data-v-5257b492]{color:#ef4444}.sheet-logout .sheet-item-icon[data-v-5257b492],.sheet-logout[data-v-5257b492]:active{background:#fee2e2}.sheet-divider[data-v-5257b492]{height:1px;background:#e5e7eb;margin:4px 12px 12px}.sheet-safe-area[data-v-5257b492]{height:calc(80px + env(safe-area-inset-bottom))}.sheet-backdrop-enter-active[data-v-5257b492],.sheet-backdrop-leave-active[data-v-5257b492]{transition:opacity .28s ease}.sheet-backdrop-enter-from[data-v-5257b492],.sheet-backdrop-leave-to[data-v-5257b492]{opacity:0}.sheet-slide-enter-active[data-v-5257b492]{transition:transform .35s cubic-bezier(.32,.72,0,1),opacity .28s ease}.sheet-slide-leave-active[data-v-5257b492]{transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .22s ease}.sheet-slide-enter-from[data-v-5257b492],.sheet-slide-leave-to[data-v-5257b492]{transform:translateY(100%);opacity:0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#app{width:100%;min-height:100vh}.mobile-top-bar{display:none}@media(max-width:768px){.mobile-top-bar{display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:990;height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:14px;padding-right:14px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 8px #00000014}.top-bar-left{display:flex;align-items:center;gap:7px;flex:0 0 auto;min-width:0}.top-bar-logo{width:28px;height:28px;object-fit:contain;border-radius:6px}.top-bar-brand{font-size:.95rem;font-weight:800;color:#6366f1;letter-spacing:-.3px;white-space:nowrap}.top-bar-center{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0 8px}.top-bar-title{font-size:.95rem;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.1px}.top-bar-right{flex:0 0 auto;display:flex;align-items:center}.notif-btn{position:relative;width:38px;height:38px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;outline:none}.notif-btn:active{transform:scale(.9);background:#e5e7eb}.notif-bell{font-size:1.15rem;line-height:1}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:linear-gradient(135deg,#6366f1,#7c3aed);border:2px solid #ffffff;border-radius:100px;font-size:.58rem;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 8px #6366f173;animation:badge-pop .3s cubic-bezier(.34,1.56,.64,1)}#app>*:not(.mobile-top-bar):not(.mobile-nav-wrapper):not(.admin-nav){padding-bottom:calc(64px + env(safe-area-inset-bottom))}.login-page,.home-page{padding-top:0!important;padding-bottom:0!important}.title-fade-enter-active,.title-fade-leave-active{transition:opacity .18s ease,transform .18s ease}.title-fade-enter-from{opacity:0;transform:translateY(6px)}.title-fade-leave-to{opacity:0;transform:translateY(-6px)}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}@media(max-width:360px){.top-bar-brand{display:none}}.notif-sheet-overlay{position:fixed;inset:0;background:#00000059;z-index:1100}.notif-sheet{position:absolute;top:calc(62px + env(safe-area-inset-top));left:12px;right:12px;max-height:72vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;transform-origin:top right}.sheet-handle{display:none}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.sheet-title{font-size:1rem;font-weight:700;color:#111827}.sheet-close{background:#f3f4f6;border:none;border-radius:50%;width:30px;height:30px;font-size:.75rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center}.sheet-loading,.sheet-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;color:#9ca3af;font-size:.95rem}.sheet-empty span{font-size:2rem}.sheet-count{font-size:.72rem;background:#f3f4f6;color:#6b7280;padding:2px 8px;border-radius:20px;margin-left:auto;margin-right:.5rem}.sheet-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem 0;display:flex;flex-direction:column}.sheet-group{padding:.25rem 0}.sheet-group-label{padding:.4rem 1.25rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#9ca3af;background:#f9fafb}.sheet-notif{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;cursor:pointer;border-left:3px solid transparent;transition:background .15s;-webkit-tap-highlight-color:transparent}.sheet-notif:active{background:#f3f4f6}.sheet-notif.today{border-left-color:#10b981}.sheet-notif.overdue{border-left-color:#ef4444}.sheet-notif.upcoming{border-left-color:#f59e0b}.sheet-notif.subscription{border-left-color:#6366f1;cursor:default}.sheet-notif-icon{font-size:1.2rem;flex-shrink:0}.sheet-notif-body{flex:1;min-width:0;display:flex;flex-direction:column}.sheet-notif-title{font-size:.85rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.sheet-notif-msg{font-size:.775rem;color:#6b7280;margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-notif-arrow{font-size:1.1rem;color:#d1d5db;flex-shrink:0}.sheet-enter-active,.sheet-leave-active{transition:opacity .2s ease}.sheet-enter-active .notif-sheet,.sheet-leave-active .notif-sheet{transition:opacity .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .notif-sheet,.sheet-leave-to .notif-sheet{opacity:0;transform:scale(.95) translateY(-8px)}}
