:root{--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-primary-darker: #1e40af;--color-primary-light: rgba(59, 130, 246, .12);--color-primary-lighter: rgba(59, 130, 246, .08);--color-primary-gradient: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);--color-primary-gradient-dark: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-disabled: #9ca3af;--color-text-inverse: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-hover: #e5e7eb;--color-bg-active: #d1d5db;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-dark: #d1d5db;--color-success: #10b981;--color-success-dark: #059669;--color-success-light: #dcfce7;--color-success-text: #166534;--color-success-gradient: linear-gradient(90deg, #10b981 0%, #059669 100%);--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-light: #fef3c7;--color-warning-text: #92400e;--color-warning-gradient: linear-gradient(90deg, #f59e0b 0%, #d97706 100%);--color-danger: #ef4444;--color-danger-dark: #dc2626;--color-danger-light: #fee2e2;--color-danger-text: #991b1b;--color-info: #3b82f6;--color-info-dark: #1d4ed8;--color-info-light: #dbeafe;--color-info-text: #1e40af;--color-info-gradient: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--color-purple: #7c3aed;--color-purple-light: #f3e8ff;--color-purple-text: #7c3aed;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 32px;--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;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 6px;--spacing-3: 8px;--spacing-4: 10px;--spacing-5: 12px;--spacing-6: 14px;--spacing-7: 16px;--spacing-8: 20px;--spacing-9: 24px;--spacing-10: 28px;--spacing-11: 32px;--spacing-12: 40px;--spacing-13: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-4xl: 32px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 8px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 32px rgba(0, 0, 0, .08), 0 8px 16px rgba(0, 0, 0, .04);--shadow-2xl: 0 24px 48px rgba(0, 0, 0, .12), 0 12px 24px rgba(0, 0, 0, .06);--shadow-primary: 0 8px 24px rgba(59, 130, 246, .25);--shadow-primary-sm: 0 4px 12px rgba(59, 130, 246, .2);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-card-hover: 0 12px 40px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-float: 0 20px 40px rgba(0, 0, 0, .1), 0 8px 16px rgba(0, 0, 0, .06);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15);--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--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);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--transition-spring: .6s cubic-bezier(.175, .885, .32, 1.275);--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-modal-backdrop: 300;--z-index-modal: 400;--z-index-popover: 500;--z-index-tooltip: 600;--z-index-toast: 700;--sidebar-width: 260px;--sidebar-collapsed-width: 70px;--header-height: 64px;--content-padding: 24px;--content-padding-mobile: 16px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(-5%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}.animate-scale-in{animation:scaleIn var(--transition-base) ease}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-family);font-size:16px;line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh}#root{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}::selection{background:var(--color-primary-light);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar{width:var(--sidebar-width);height:100vh;background:linear-gradient(180deg,#fff,#fafafa);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:var(--z-index-sticky);border-right:1px solid rgba(229,231,235,.5);box-shadow:4px 0 24px #00000008}.sidebar-header{padding:var(--spacing-9);border-bottom:1px solid var(--color-border-light)}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-5);color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.sidebar-logo svg{color:var(--color-primary);filter:drop-shadow(0 2px 4px rgba(59,130,246,.2))}.sidebar-nav{flex:1;padding:var(--spacing-7) var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-2);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-5);padding:var(--spacing-5) var(--spacing-7);background:none;border:none;border-radius:var(--radius-xl);color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-align:left;width:100%;font-family:inherit;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;background:var(--color-primary-gradient);border-radius:0 var(--radius-sm) var(--radius-sm) 0;transform:translateY(-50%);transition:height var(--transition-base)}.nav-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:translate(4px)}.nav-item:hover:before{height:24px}.nav-item.active{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-primary-sm);transform:translate(0)}.nav-item.active:before{display:none}.nav-item.active:hover{transform:scale(1.02)}.nav-item svg{transition:transform var(--transition-fast)}.nav-item:hover svg{transform:scale(1.1)}.nav-item.active svg{transform:scale(1)}.sidebar-footer{padding:var(--spacing-7);border-top:1px solid var(--color-border-light)}.sidebar-user{display:flex;align-items:center;gap:var(--spacing-5);padding:var(--spacing-5) var(--spacing-5);border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base)}.sidebar-user:hover{background:var(--color-bg-tertiary);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.user-avatar-sidebar{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--color-primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);overflow:hidden;box-shadow:var(--shadow-primary-sm);transition:transform var(--transition-fast)}.sidebar-user:hover .user-avatar-sidebar{transform:scale(1.05)}.user-avatar-sidebar img{width:100%;height:100%;object-fit:cover}.user-info-sidebar{display:flex;flex-direction:column;gap:var(--spacing-1)}.user-name-sidebar{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.user-role-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);width:fit-content}.user-role-badge.role-admin{background:#f59e0b1f;color:#b45309}.user-role-badge.role-manager{background:#3b82f61f;color:#1d4ed8}.user-role-badge.role-user{background:var(--color-primary-light);color:var(--color-primary-dark)}.nav-section{padding:var(--spacing-5) var(--spacing-7);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-disabled);margin-top:var(--spacing-3)}.nav-badge{margin-left:auto;background:var(--color-primary-light);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full)}.nav-item.active .nav-badge{background:#fff3;color:#fff}@media(max-width:768px){.sidebar{width:var(--sidebar-collapsed-width);overflow:hidden}.sidebar-logo span,.nav-item span,.user-info-sidebar,.nav-badge{display:none}.sidebar-user{justify-content:center;padding:var(--spacing-4)}.nav-item{justify-content:center;padding:var(--spacing-5)}.nav-item:before{display:none}.nav-item:hover{transform:scale(1.05)}}.header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-8) var(--spacing-11);background:#fffc;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border-bottom:1px solid rgba(229,231,235,.6);position:sticky;top:0;z-index:var(--z-index-sticky)}.header-left{display:flex;flex-direction:column;gap:var(--spacing-2)}.header-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;letter-spacing:-.02em}.header-date{display:flex;align-items:center;gap:var(--spacing-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.header-date svg{color:var(--color-primary)}.header-right{display:flex;align-items:center;gap:var(--spacing-7)}.search-box{display:flex;align-items:center;gap:var(--spacing-4);background:var(--color-bg-secondary);padding:var(--spacing-5) var(--spacing-7);border-radius:var(--radius-xl);border:1px solid transparent;width:300px;transition:all var(--transition-base)}.search-box:focus-within{background:var(--color-bg-primary);border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light),var(--shadow-sm)}.search-box svg{color:var(--color-text-muted);transition:color var(--transition-fast)}.search-box:focus-within svg{color:var(--color-primary)}.search-box input{border:none;background:none;outline:none;font-size:var(--font-size-base);color:var(--color-text-primary);width:100%;font-family:inherit}.search-box input::placeholder{color:var(--color-text-muted)}.notification-btn{position:relative;background:var(--color-bg-secondary);border:1px solid transparent;padding:var(--spacing-5);border-radius:var(--radius-xl);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-base)}.notification-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.notification-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:3px 7px;border-radius:var(--radius-full);min-width:20px;text-align:center;box-shadow:0 2px 8px #ef444466;animation:pulse 2s ease-in-out infinite}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-5);padding:var(--spacing-3) var(--spacing-5);background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base)}.user-menu-trigger:hover{background:var(--color-bg-tertiary);box-shadow:var(--shadow-sm)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-primary-sm);transition:transform var(--transition-fast)}.user-menu-trigger:hover .user-avatar{transform:scale(1.05)}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.user-role{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm)}.user-role.role-admin{background:#f59e0b26;color:#b45309}.user-role.role-manager{background:#3b82f626;color:#1d4ed8}.user-role.role-user{background:var(--color-primary-light);color:var(--color-primary-dark)}.chevron{color:var(--color-text-muted);transition:transform var(--transition-base)}.chevron.rotated{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fffffff2;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);min-width:260px;z-index:var(--z-index-dropdown);overflow:hidden;animation:scaleIn var(--transition-fast)}.dropdown-header{display:flex;align-items:center;gap:var(--spacing-5);padding:var(--spacing-7);background:var(--color-bg-secondary)}.dropdown-avatar{width:48px;height:48px;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-primary-sm)}.dropdown-avatar img{width:100%;height:100%;object-fit:cover}.dropdown-user-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.dropdown-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.dropdown-email{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dropdown-divider{height:1px;background:var(--color-border-light)}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-5);width:100%;padding:var(--spacing-5) var(--spacing-7);background:none;border:none;cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-secondary);transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);padding-left:var(--spacing-8)}.dropdown-item svg{transition:transform var(--transition-fast)}.dropdown-item:hover svg{transform:scale(1.1)}.dropdown-item.logout{color:var(--color-danger)}.dropdown-item.logout:hover{background:#ef444414;color:var(--color-danger-dark)}.logout-modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal);animation:fadeIn var(--transition-fast)}.logout-modal{background:#fff;border-radius:var(--radius-3xl);padding:var(--spacing-11);max-width:400px;width:90%;text-align:center;box-shadow:var(--shadow-2xl);animation:scaleIn var(--transition-base)}.logout-modal-icon{width:64px;height:64px;background:linear-gradient(135deg,#ef44441a,#ef444433);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-7);color:var(--color-danger)}.logout-modal h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.logout-modal p{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:var(--spacing-9);line-height:var(--line-height-relaxed)}.logout-modal-actions{display:flex;gap:var(--spacing-5)}.logout-modal-actions button{flex:1;padding:var(--spacing-5) var(--spacing-8);border-radius:var(--radius-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-cancel{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-cancel:hover{background:var(--color-bg-tertiary);transform:translateY(-1px)}.btn-logout{background:linear-gradient(135deg,#f87171,#ef4444);border:none;color:#fff;box-shadow:0 4px 12px #ef444440}.btn-logout:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ef444459}@media(max-width:768px){.header{padding:var(--spacing-7)}.search-box{width:auto;padding:var(--spacing-4) var(--spacing-5)}.search-box input{width:120px}.user-info{display:none}.user-menu-trigger{padding:var(--spacing-3)}.chevron{display:none}}.notice-bar-container{width:100%;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light)}.notice-bar{display:flex;flex-direction:column;gap:0}.notice-item{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-8);animation:slideDown var(--transition-base)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notice-item.notice-info{background:linear-gradient(135deg,#3b82f614,#3b82f61f);border-left:3px solid #3b82f6}.notice-item.notice-info .notice-icon{color:#3b82f6}.notice-item.notice-warning{background:linear-gradient(135deg,#f59e0b14,#f59e0b1f);border-left:3px solid #f59e0b}.notice-item.notice-warning .notice-icon{color:#f59e0b}.notice-item.notice-critical{background:linear-gradient(135deg,#ef444414,#ef44441f);border-left:3px solid #ef4444}.notice-item.notice-critical .notice-icon{color:#ef4444}.notice-item.notice-announcement{background:linear-gradient(135deg,#6366f114,#6366f11f);border-left:3px solid #6366f1}.notice-item.notice-announcement .notice-icon{color:#6366f1}.notice-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.notice-content{display:flex;align-items:center;gap:var(--spacing-3);flex:1;min-width:0;overflow:hidden}.notice-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}.notice-separator{color:var(--color-text-muted)}.notice-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-dismiss{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.notice-dismiss:hover{background:#00000014;color:var(--color-text-primary)}.notice-toggle{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-4);background:var(--color-bg-secondary);border:none;border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.notice-toggle:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}@media(max-width:768px){.notice-item{padding:var(--spacing-3) var(--spacing-5)}.notice-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.notice-separator{display:none}.notice-message{white-space:normal;line-height:var(--line-height-normal)}}.card{background:var(--color-bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);transition:all var(--transition-base);position:relative;border:1px solid var(--color-border-light);overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);opacity:0;transition:opacity var(--transition-base)}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px);border-color:#10b9811f}.card:hover:before{opacity:1}.card-clickable{cursor:pointer}.card-clickable:active{transform:translateY(-2px);transition:transform var(--transition-fast)}.card-glass{background:#fffc;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid rgba(255,255,255,.3)}.card-glass:hover{background:#ffffffe6}.card-elevated{box-shadow:var(--shadow-lg);border:none}.card-elevated:hover{box-shadow:var(--shadow-float);transform:translateY(-6px)}.card-flat{box-shadow:none;border:1px solid var(--color-border)}.card-flat:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card-padding-none{padding:0}.card-padding-small{padding:var(--spacing-7)}.card-padding-medium{padding:var(--spacing-9)}.card-padding-large{padding:var(--spacing-11)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;letter-spacing:-.01em}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-1)}.card-action{display:flex;gap:var(--spacing-3)}.card-content{width:100%}.card-footer{margin-top:var(--spacing-8);padding-top:var(--spacing-7);border-top:1px solid var(--color-border-light)}.card-accent-top{border-top:3px solid var(--color-primary)}.card-accent-left{border-left:3px solid var(--color-primary)}.card-glow:hover{box-shadow:var(--shadow-card-hover),var(--shadow-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-3);border:none;border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);font-family:inherit;position:relative;overflow:hidden;letter-spacing:.01em}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none}.btn:disabled:before{display:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.97)}.btn-small{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-medium{padding:var(--spacing-5) var(--spacing-9);font-size:var(--font-size-base)}.btn-large{padding:var(--spacing-7) var(--spacing-11);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-primary-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-primary);filter:brightness(1.05)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-primary-sm)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-outline{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text-secondary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-lighter);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-ghost:active:not(:disabled){background:var(--color-bg-hover)}.btn-danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #ef44444d;filter:brightness(1.05)}.btn-soft{background:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid transparent}.btn-soft:hover:not(:disabled){background:#10b9812e;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-full{width:100%}.btn-icon-only{padding:var(--spacing-4);border-radius:var(--radius-lg)}.btn-icon-only.btn-small{padding:var(--spacing-3)}.btn-icon-only.btn-large{padding:var(--spacing-6)}.btn-rounded{border-radius:var(--radius-full)}.btn-icon{display:flex;align-items:center}.btn-loader{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:var(--radius-full);animation:spin .8s linear infinite}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.btn-group .btn:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.btn-group .btn:not(:last-child){border-right:1px solid rgba(255,255,255,.2)}.badge{display:inline-flex;align-items:center;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);white-space:nowrap;transition:all var(--transition-fast);letter-spacing:.01em}.badge:hover{transform:scale(1.05)}.badge-small{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs)}.badge-medium{padding:var(--spacing-2) var(--spacing-5);font-size:var(--font-size-sm)}.badge-large{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base)}.badge-default{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.badge-success{background:var(--color-success-light);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger-text)}.badge-info{background:var(--color-info-light);color:var(--color-info-text)}.badge-purple{background:var(--color-purple-light);color:var(--color-purple-text)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge-solid-success{background:var(--color-success-gradient);color:#fff;box-shadow:0 2px 8px #10b9814d}.badge-solid-warning{background:var(--color-warning-gradient);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.badge-solid-danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;box-shadow:0 2px 8px #ef44444d}.badge-solid-info{background:var(--color-info-gradient);color:#fff;box-shadow:0 2px 8px #3b82f64d}.badge-solid-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-primary-sm)}.badge-outline{background:transparent;border:1.5px solid currentColor}.badge-outline-success{color:var(--color-success-dark);border-color:var(--color-success)}.badge-outline-warning{color:var(--color-warning-dark);border-color:var(--color-warning)}.badge-outline-danger{color:var(--color-danger-dark);border-color:var(--color-danger)}.badge-outline-info{color:var(--color-info-dark);border-color:var(--color-info)}.badge-outline-primary{color:var(--color-primary-dark);border-color:var(--color-primary)}.badge-dot{display:flex;align-items:center;gap:var(--spacing-2)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.badge-dot-pulse:before{animation:pulse 2s ease-in-out infinite}.badge-icon{display:inline-flex;align-items:center;gap:var(--spacing-2)}.badge-icon svg{width:14px;height:14px}.badge-removable{padding-right:var(--spacing-2)}.badge-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:var(--spacing-2);border-radius:var(--radius-full);background:#0000001a;cursor:pointer;transition:background var(--transition-fast)}.badge-remove:hover{background:#0003}.badge-counter{min-width:20px;text-align:center;padding:var(--spacing-1) var(--spacing-2)}.progress-container{display:flex;align-items:center;gap:12px;width:100%}.progress-bar-wrapper{flex:1;background:#e2e8f0;border-radius:99px;overflow:hidden}.progress-small .progress-bar-wrapper{height:4px}.progress-medium .progress-bar-wrapper{height:8px}.progress-large .progress-bar-wrapper{height:12px}.progress-bar{height:100%;border-radius:99px;transition:width .5s ease}.progress-primary{background:linear-gradient(90deg,#3b82f6,#1e40af)}.progress-success{background:linear-gradient(90deg,#10b981,#059669)}.progress-warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-animated{animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.progress-label{font-size:13px;font-weight:500;color:#64748b;min-width:36px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:560px}.modal-large{width:100%;max-width:800px}.modal-title{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.modal-close{background:none;border:none;padding:8px;cursor:pointer;color:#64748b;border-radius:8px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#1a1a2e}.modal-footer{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.input-full{width:100%}.input-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-1)}.input-required{color:var(--color-danger);font-weight:var(--font-weight-bold)}.input-wrapper .input-icon{position:absolute;color:var(--color-text-disabled);pointer-events:none;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.input-wrapper.icon-left .input-icon{left:var(--spacing-6)}.input-wrapper.icon-right .input-icon{right:var(--spacing-6)}.input-field{width:100%;padding:var(--spacing-5) var(--spacing-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-base)}.input-wrapper.has-icon.icon-left .input-field{padding-left:44px}.input-wrapper.has-icon.icon-right .input-field{padding-right:44px}.input-field::placeholder{color:var(--color-text-disabled)}.input-field:hover:not(:disabled){border-color:var(--color-border-dark)}.input-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-field:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--color-primary)}.input-field:disabled{background:var(--color-bg-secondary);cursor:not-allowed;color:var(--color-text-muted)}.input-wrapper.input-error .input-field{border-color:var(--color-danger)}.input-wrapper.input-error .input-field:focus{box-shadow:0 0 0 3px #ef44441a}.input-wrapper.input-error .input-icon{color:var(--color-danger)}.input-error-message{font-size:var(--font-size-sm);color:var(--color-danger);animation:shake .3s ease-in-out}.input-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.select-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.select-full{width:100%}.select-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-1)}.select-required{color:var(--color-danger);font-weight:var(--font-weight-bold)}.select-wrapper{position:relative;display:flex;align-items:center}.select-wrapper .select-icon{position:absolute;left:var(--spacing-6);color:var(--color-text-disabled);pointer-events:none;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.select-field{width:100%;padding:var(--spacing-5) 40px var(--spacing-5) var(--spacing-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer;appearance:none;transition:all var(--transition-base)}.select-wrapper.has-icon .select-field{padding-left:44px}.select-field:hover:not(:disabled){border-color:var(--color-border-dark)}.select-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.select-field:focus+.select-chevron{color:var(--color-primary)}.select-wrapper:focus-within .select-icon{color:var(--color-primary)}.select-field:disabled{background:var(--color-bg-secondary);cursor:not-allowed;color:var(--color-text-muted)}.select-chevron{position:absolute;right:var(--spacing-6);color:var(--color-text-disabled);pointer-events:none;transition:color var(--transition-base),transform var(--transition-base)}.select-field:focus~.select-chevron{color:var(--color-primary);transform:rotate(180deg)}.select-wrapper.select-error .select-field{border-color:var(--color-danger)}.select-wrapper.select-error .select-field:focus{box-shadow:0 0 0 3px #ef44441a}.select-wrapper.select-error .select-icon{color:var(--color-danger)}.select-error-message{font-size:var(--font-size-sm);color:var(--color-danger);animation:shake .3s ease-in-out}.select-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.textarea-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.textarea-full{width:100%}.textarea-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-1)}.textarea-required{color:var(--color-danger);font-weight:var(--font-weight-bold)}.textarea-wrapper{position:relative}.textarea-field{width:100%;padding:var(--spacing-5) var(--spacing-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-primary);line-height:var(--line-height-normal);transition:all var(--transition-base)}.textarea-field::placeholder{color:var(--color-text-disabled)}.textarea-field:hover:not(:disabled){border-color:var(--color-border-dark)}.textarea-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.textarea-field:disabled{background:var(--color-bg-secondary);cursor:not-allowed;color:var(--color-text-muted)}.textarea-wrapper.textarea-error .textarea-field{border-color:var(--color-danger)}.textarea-wrapper.textarea-error .textarea-field:focus{box-shadow:0 0 0 3px #ef44441a}.textarea-error-message{font-size:var(--font-size-sm);color:var(--color-danger);animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.textarea-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.toast-container{position:fixed;bottom:var(--spacing-9);right:var(--spacing-9);display:flex;flex-direction:column;gap:var(--spacing-3);z-index:var(--z-index-toast);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--spacing-5);padding:var(--spacing-7);background:var(--color-bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);min-width:320px;max-width:420px;pointer-events:auto;animation:slideInRight var(--transition-slow) ease;border-left:4px solid}.toast-exit{animation:slideOutRight var(--transition-base) ease forwards}@keyframes slideOutRight{to{opacity:0;transform:translate(20px)}}.toast-success{border-left-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-error .toast-icon{color:var(--color-danger)}.toast-warning{border-left-color:var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-left-color:var(--color-info)}.toast-info .toast-icon{color:var(--color-info)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}.toast-content{flex:1;min-width:0}.toast-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.toast-message{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-1);line-height:var(--line-height-normal)}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-1);background:none;border:none;color:var(--color-text-disabled);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.toast-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-muted)}@media(max-width:480px){.toast-container{bottom:var(--spacing-7);right:var(--spacing-7);left:var(--spacing-7)}.toast{min-width:auto;max-width:none}}.skeleton{background:var(--color-bg-hover);display:block}.skeleton-text{height:1em;border-radius:var(--radius-sm);transform-origin:0 50%}.skeleton-circular{border-radius:var(--radius-full)}.skeleton-rectangular{border-radius:0}.skeleton-rounded{border-radius:var(--radius-lg)}.skeleton-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-wave{background:linear-gradient(90deg,var(--color-bg-hover) 0%,var(--color-bg-tertiary) 20%,var(--color-bg-secondary) 40%,var(--color-bg-tertiary) 60%,var(--color-bg-hover) 80%,var(--color-bg-hover) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-none{animation:none}.skeleton-text-group{display:flex;flex-direction:column;gap:var(--spacing-3)}.skeleton-card{display:flex;flex-direction:column;gap:var(--spacing-7);padding:var(--spacing-8);background:var(--color-bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.skeleton-card-header{display:flex;align-items:center;gap:var(--spacing-5)}.skeleton-card-header-text{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2)}.skeleton-table{display:flex;flex-direction:column;gap:var(--spacing-3)}.skeleton-table-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--spacing-7);padding:var(--spacing-5) 0;border-bottom:1px solid var(--color-border)}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--spacing-7);padding:var(--spacing-5) 0;border-bottom:1px solid var(--color-border-light)}.skeleton-chart{display:flex;flex-direction:column;gap:var(--spacing-8);padding:var(--spacing-8);background:var(--color-bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);min-height:300px}.skeleton-chart-header{display:flex;justify-content:space-between;align-items:center}.skeleton-chart-bars{display:flex;align-items:flex-end;gap:var(--spacing-3);flex:1;padding-top:var(--spacing-8)}.skeleton-chart-bars .skeleton{flex:1}.skeleton-kpi{display:flex;flex-direction:column;gap:var(--spacing-5);padding:var(--spacing-8);background:var(--color-bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.skeleton-kpi-header{display:flex;justify-content:space-between;align-items:center}.skeleton-kpi-footer{display:flex;justify-content:space-between;margin-top:var(--spacing-2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-12) var(--spacing-9);animation:fadeInUp var(--transition-slow) ease}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-hover) 100%);color:var(--color-text-disabled);margin-bottom:var(--spacing-9);transition:all var(--transition-base)}.empty-state:hover .empty-state-icon{transform:scale(1.05);color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary-lighter) 100%)}.empty-state-content{max-width:320px;margin-bottom:var(--spacing-9)}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-3) 0}.empty-state-description{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0;line-height:var(--line-height-relaxed)}.empty-state-actions{display:flex;align-items:center;gap:var(--spacing-5)}.empty-state.compact{padding:var(--spacing-9) var(--spacing-7)}.empty-state.compact .empty-state-icon{width:64px;height:64px;margin-bottom:var(--spacing-7)}.empty-state.compact .empty-state-icon svg{width:32px;height:32px}.empty-state.compact .empty-state-title{font-size:var(--font-size-lg)}.empty-state.compact .empty-state-description{font-size:var(--font-size-sm)}.empty-state.inline{flex-direction:row;text-align:left;padding:var(--spacing-7);gap:var(--spacing-7)}.empty-state.inline .empty-state-icon{width:48px;height:48px;margin-bottom:0}.empty-state.inline .empty-state-icon svg{width:24px;height:24px}.empty-state.inline .empty-state-content{margin-bottom:0;flex:1}.empty-state.inline .empty-state-title{font-size:var(--font-size-base);margin-bottom:var(--spacing-1)}.empty-state.inline .empty-state-description{font-size:var(--font-size-sm)}.stats-card{display:flex;align-items:flex-start;gap:var(--spacing-7);position:relative}.stats-card:before{content:"";position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:var(--color-primary-lighter);border-radius:var(--radius-full);opacity:0;transition:opacity var(--transition-slow);pointer-events:none}.stats-card:hover:before{opacity:.5}.stats-icon{width:56px;height:56px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-base);position:relative}.stats-card:hover .stats-icon{transform:scale(1.08) rotate(-5deg)}.stats-icon-purple{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-primary-sm)}.stats-icon-blue{background:var(--color-info-gradient);color:#fff;box-shadow:0 4px 16px #3b82f64d}.stats-icon-green{background:var(--color-success-gradient);color:#fff;box-shadow:0 4px 16px #10b9814d}.stats-icon-orange{background:var(--color-warning-gradient);color:#fff;box-shadow:0 4px 16px #f59e0b4d}.stats-icon-soft-purple{background:var(--color-primary-light);color:var(--color-primary-dark)}.stats-icon-soft-blue{background:var(--color-info-light);color:var(--color-info-dark)}.stats-icon-soft-green{background:var(--color-success-light);color:var(--color-success-dark)}.stats-icon-soft-orange{background:var(--color-warning-light);color:var(--color-warning-dark)}.stats-content{display:flex;flex-direction:column;gap:var(--spacing-2);flex:1;position:relative;z-index:1}.stats-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.stats-value-row{display:flex;align-items:center;gap:var(--spacing-5)}.stats-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}.stats-change{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);transition:all var(--transition-fast)}.stats-change:hover{transform:scale(1.05)}.stats-change.positive{color:var(--color-success-dark);background:var(--color-success-light)}.stats-change.negative{color:var(--color-danger-dark);background:var(--color-danger-light)}.stats-change.neutral{color:var(--color-text-muted);background:var(--color-bg-tertiary)}.stats-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-1)}.stats-sparkline{margin-top:var(--spacing-4);height:40px;opacity:.8;transition:opacity var(--transition-fast)}.stats-card:hover .stats-sparkline{opacity:1}.stats-progress{margin-top:var(--spacing-4)}.stats-progress-bar{height:6px;background:var(--color-bg-hover);border-radius:var(--radius-full);overflow:hidden}.stats-progress-fill{height:100%;border-radius:var(--radius-full);background:var(--color-primary-gradient);transition:width var(--transition-slower) cubic-bezier(.4,0,.2,1)}.stats-progress-label{display:flex;justify-content:space-between;margin-top:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.kpi-card{display:flex;flex-direction:column;gap:var(--spacing-6);position:relative}.kpi-card:after{content:"";position:absolute;inset:-1px;border-radius:var(--radius-2xl);background:var(--color-primary-gradient);opacity:0;z-index:-1;transition:opacity var(--transition-slow)}.kpi-card:hover:after{opacity:.03}.kpi-header{display:flex;justify-content:space-between;align-items:center}.kpi-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);letter-spacing:.01em}.kpi-trend{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);transition:all var(--transition-fast)}.kpi-trend:hover{transform:scale(1.08)}.trend-up{color:var(--color-success-dark);background:var(--color-success-light)}.trend-down{color:var(--color-danger-dark);background:var(--color-danger-light)}.trend-stable{color:var(--color-text-muted);background:var(--color-bg-tertiary)}.kpi-value{font-size:42px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:-.03em;transition:transform var(--transition-fast)}.kpi-card:hover .kpi-value{transform:scale(1.02)}.kpi-progress{display:flex;flex-direction:column;gap:var(--spacing-4)}.kpi-progress-bar{height:10px;background:var(--color-bg-hover);border-radius:var(--radius-full);overflow:hidden;position:relative}.kpi-progress-bar:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s ease-in-out infinite}.kpi-progress-fill{height:100%;border-radius:var(--radius-full);transition:width 1s cubic-bezier(.4,0,.2,1);position:relative}.kpi-progress-fill.on-target{background:linear-gradient(90deg,#60a5fa,#3b82f6,#2563eb);box-shadow:0 0 12px #3b82f64d}.kpi-progress-fill.off-target{background:linear-gradient(90deg,#fbbf24,#f59e0b,#d97706);box-shadow:0 0 12px #f59e0b4d}.kpi-progress-fill.danger{background:linear-gradient(90deg,#f87171,#ef4444,#dc2626);box-shadow:0 0 12px #ef44444d}.kpi-target{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-muted)}.kpi-target-value{font-weight:var(--font-weight-medium)}.on-target-text{color:var(--color-success-dark);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-2)}.off-target-text{color:var(--color-warning-dark);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-2)}.kpi-chart{height:60px;margin-top:var(--spacing-3);opacity:.9;transition:opacity var(--transition-fast)}.kpi-card:hover .kpi-chart{opacity:1}.kpi-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-2);opacity:0;transform:translateY(4px);transition:all var(--transition-base)}.kpi-card:hover .kpi-actions{opacity:1;transform:translateY(0)}.kpi-card.highlight{background:linear-gradient(135deg,#10b9810a,#05966914)}.kpi-card.highlight .kpi-value{background:var(--color-primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chart-card{height:100%}.chart-container{width:100%;margin-top:8px}.chart-container-small{display:flex;align-items:center;justify-content:center}.recharts-tooltip-wrapper{outline:none}.recharts-legend-wrapper{padding-top:16px!important}.recharts-legend-item{margin-right:16px!important}.dashboard-notices-card{margin-bottom:24px}.dashboard-notices-list{display:flex;flex-direction:column;gap:12px}.dashboard-notice-item{display:flex;gap:12px;padding:14px 16px;border-radius:10px;position:relative;animation:fadeInSlide .3s ease}@keyframes fadeInSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.dashboard-notice-item.notice-info{background:linear-gradient(135deg,#3b82f614,#3b82f60a);border:1px solid rgba(59,130,246,.15)}.dashboard-notice-item.notice-warning{background:linear-gradient(135deg,#f59e0b14,#f59e0b0a);border:1px solid rgba(245,158,11,.15)}.dashboard-notice-item.notice-critical{background:linear-gradient(135deg,#ef444414,#ef44440a);border:1px solid rgba(239,68,68,.15)}.dashboard-notice-item.notice-announcement{background:linear-gradient(135deg,#6366f114,#6366f10a);border:1px solid rgba(99,102,241,.15)}.dashboard-notice-icon{display:flex;align-items:flex-start;padding-top:2px;flex-shrink:0}.dashboard-notice-item.notice-info .dashboard-notice-icon{color:#3b82f6}.dashboard-notice-item.notice-warning .dashboard-notice-icon{color:#f59e0b}.dashboard-notice-item.notice-critical .dashboard-notice-icon{color:#ef4444}.dashboard-notice-item.notice-announcement .dashboard-notice-icon{color:#6366f1}.dashboard-notice-content{flex:1;min-width:0}.dashboard-notice-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.dashboard-notice-message{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.dashboard-notice-dismiss{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--color-text-muted);cursor:pointer;transition:all .2s;flex-shrink:0}.dashboard-notice-dismiss:hover{background:#00000014;color:var(--color-text-primary)}@media(max-width:768px){.dashboard-notice-item{padding:12px}.dashboard-notice-title{font-size:13px}.dashboard-notice-message{font-size:12px}}.dashboard{display:flex;flex-direction:column;gap:var(--spacing-11);animation:fadeInUp var(--transition-slow) ease}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-9)}.stats-grid.user-stats-two{grid-template-columns:repeat(2,1fr)}.section-header{margin-top:var(--spacing-5);margin-bottom:var(--spacing-3);display:flex;justify-content:space-between;align-items:center}.section-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-4);letter-spacing:-.02em}.section-header h2:before{content:"";width:4px;height:24px;background:var(--color-primary-gradient);border-radius:var(--radius-full)}.section-header-action{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-2)}.section-header-action:hover{color:var(--color-primary-dark);transform:translate(4px)}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-9)}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-9)}.chart-large,.chart-small{min-height:380px}.chart-small .card{height:100%}.recent-projects{display:flex;flex-direction:column;gap:var(--spacing-5)}.recent-project-item{display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-7);border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid transparent;transition:all var(--transition-base);cursor:pointer}.recent-project-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-border);transform:translate(6px);box-shadow:var(--shadow-sm)}.project-item-header{display:flex;justify-content:space-between;align-items:center}.project-item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);transition:color var(--transition-fast)}.recent-project-item:hover .project-item-name{color:var(--color-primary)}.project-item-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.upcoming-tasks-card{margin-top:var(--spacing-5)}.upcoming-tasks{display:flex;flex-direction:column;gap:var(--spacing-5)}.task-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6) var(--spacing-7);background:var(--color-bg-secondary);border-radius:var(--radius-xl);transition:all var(--transition-base);border:1px solid transparent;cursor:pointer}.task-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-border);transform:translate(6px);box-shadow:var(--shadow-sm)}.task-item-left{display:flex;align-items:center;gap:var(--spacing-5)}.task-item-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.task-item:hover .task-item-icon{background:var(--color-primary-gradient);color:#fff;transform:scale(1.05)}.task-item-content{display:flex;flex-direction:column;gap:var(--spacing-1)}.task-item-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.task-item-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.task-item-right{display:flex;align-items:center;gap:var(--spacing-5)}.task-item-date{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--spacing-2) var(--spacing-4);background:var(--color-bg-primary);border-radius:var(--radius-md)}.task-item-assignee{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary-gradient);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-primary-sm);transition:transform var(--transition-fast)}.task-item:hover .task-item-assignee{transform:scale(1.1)}.activity-feed{display:flex;flex-direction:column;gap:var(--spacing-1)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-5);padding:var(--spacing-5) var(--spacing-3);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.activity-item:hover{background:var(--color-bg-secondary)}.activity-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-primary);margin-top:6px;flex-shrink:0}.activity-content{flex:1}.activity-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.activity-time{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-1)}@media(max-width:1200px){.stats-grid,.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.stats-grid,.kpi-grid{grid-template-columns:1fr}.dashboard{gap:var(--spacing-9)}}.project-card{cursor:pointer;transition:all .2s ease}.project-card:hover{transform:translateY(-2px)}.project-card-header{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.project-card-title-row{display:flex;justify-content:space-between;align-items:flex-start}.project-card-title{font-size:16px;font-weight:600;color:#1a1a2e;margin:0}.project-menu-btn{background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;border-radius:4px;transition:all .2s}.project-menu-btn:hover{background:#f1f5f9;color:#64748b}.project-badges{display:flex;gap:8px}.project-card-description{font-size:13px;color:#64748b;line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-progress-section{margin-bottom:16px}.project-progress-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px;color:#64748b}.progress-percentage{font-weight:600;color:#1a1a2e}.project-card-stats{display:flex;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.project-stat{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}.project-stat svg{color:#94a3b8}.project-card-footer{display:flex;justify-content:space-between;align-items:center}.project-team{display:flex}.team-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid white;margin-left:-8px}.team-avatar:first-child{margin-left:0}.team-avatar-more{background:#e2e8f0;color:#64748b}.project-tasks-count{font-size:12px;color:#64748b}.project-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:13px;font-weight:500;color:#475569}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;outline:none;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-section{padding:16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.form-section .section-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#1a1a2e}.form-section .section-description{margin:0 0 16px;font-size:12px;color:#64748b}.form-section .form-row{margin-bottom:12px}.pricing-preview{padding:10px 14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;font-size:13px;color:#047857;font-weight:500}.team-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.team-option{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s}.team-option:hover{border-color:#cbd5e1;background:#f8fafc}.team-option.selected{border-color:#667eea;background:#667eea0d}.team-option-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.team-option-info{display:flex;flex-direction:column;gap:2px}.team-option-name{font-size:13px;font-weight:500;color:#1a1a2e}.team-option-role{font-size:11px;color:#64748b}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e2e8f0}@media(max-width:768px){.form-row,.team-selector{grid-template-columns:1fr}}.project-detail{display:flex;flex-direction:column;gap:24px}.detail-header{display:flex;flex-direction:column;gap:12px}.detail-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.detail-badges{display:flex;gap:8px;flex-wrap:wrap}.detail-actions{display:flex;gap:8px}.detail-description{font-size:14px;color:#64748b;line-height:1.6;margin:0}.detail-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-stat{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8fafc;border-radius:10px}.detail-stat svg{color:#667eea;margin-top:2px}.detail-stat>div{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#64748b}.stat-value{font-size:14px;font-weight:500;color:#1a1a2e}.detail-section{display:flex;flex-direction:column;gap:12px}.detail-section h4{font-size:14px;font-weight:600;color:#1a1a2e;margin:0}.team-list{display:flex;flex-wrap:wrap;gap:12px}.team-member{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-radius:10px}.member-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.member-info{display:flex;flex-direction:column;gap:2px}.member-name{font-size:13px;font-weight:500;color:#1a1a2e}.member-role{font-size:11px;color:#64748b}.milestones-list{display:flex;flex-direction:column;gap:8px}.milestone-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px}.milestone-item.completed{opacity:.7}.milestone-check{color:#10b981}.check-empty{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%}.milestone-info{display:flex;flex:1;justify-content:space-between;align-items:center}.milestone-name{font-size:13px;font-weight:500;color:#1a1a2e}.milestone-date{font-size:12px;color:#64748b}.tasks-list{display:flex;flex-direction:column;gap:8px}.task-row{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8fafc;border-radius:8px}.task-row-left{display:flex;align-items:center;gap:12px}.task-name{font-size:13px;color:#1a1a2e}@media(max-width:768px){.detail-stats{grid-template-columns:1fr}}.project-list{display:flex;flex-direction:column;gap:24px}.project-list-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.project-filters{display:flex;gap:16px}.filter-group select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#1a1a2e;min-width:150px;cursor:pointer;outline:none;font-family:inherit}.project-actions{display:flex;align-items:center;gap:12px}.view-toggle{display:flex;background:#f1f5f9;border-radius:8px;padding:4px}.view-btn{background:none;border:none;padding:8px;cursor:pointer;color:#64748b;border-radius:6px;transition:all .2s}.view-btn:hover{color:#1a1a2e}.view-btn.active{background:#fff;color:#667eea;box-shadow:0 1px 2px #0000000d}.project-grid{display:grid;gap:20px}.project-grid.grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-grid.list{grid-template-columns:1fr}.project-grid.list .project-card{display:flex;flex-direction:row;gap:24px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;color:#94a3b8}.empty-state h3{margin:16px 0 8px;color:#64748b;font-size:18px}.empty-state p{margin:0;font-size:14px}.delete-confirm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;gap:16px}.delete-confirm p{margin:0;color:#475569;font-size:14px}.delete-confirm .delete-warning{color:#94a3b8;font-size:13px}.delete-actions{display:flex;gap:12px;margin-top:8px}@media(max-width:768px){.project-list-header{flex-direction:column;align-items:stretch}.project-filters{flex-direction:column}.project-actions{justify-content:space-between}.project-grid.grid{grid-template-columns:1fr}}.task-form{display:flex;flex-direction:column;gap:20px}.task-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.task-form .form-group{display:flex;flex-direction:column;gap:6px}.task-form .form-group label{font-size:13px;font-weight:500;color:#475569}.task-form .form-group input,.task-form .form-group select,.task-form .form-group textarea{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;outline:none;transition:all .2s;font-family:inherit}.task-form .form-group input:focus,.task-form .form-group select:focus,.task-form .form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.task-form .form-group textarea{resize:vertical;min-height:80px}.task-form .form-actions{display:flex;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid #e2e8f0}.task-form .form-actions-right{display:flex;gap:12px}@media(max-width:768px){.task-form .form-row{grid-template-columns:1fr}}.task-board{display:flex;flex-direction:column;gap:24px;height:calc(100vh - 200px)}.task-board-header{display:flex;justify-content:space-between;align-items:center}.task-board-filters{display:flex;gap:16px}.board-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;flex:1;overflow-x:auto}.board-column{background:#f8fafc;border-radius:12px;padding:16px;display:flex;flex-direction:column;min-height:400px}.column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.column-title{font-size:14px;font-weight:600;color:#1a1a2e}.column-count{background:#e2e8f0;color:#64748b;font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px}.column-tasks{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto}.task-card{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 3px #00000014;cursor:pointer;transition:all .2s}.task-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.task-card:active{cursor:grabbing}.task-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.task-card-title{font-size:14px;font-weight:500;color:#1a1a2e;margin:0 0 4px;line-height:1.4}.task-card-project{font-size:11px;color:#94a3b8;margin:0 0 12px}.task-card-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.task-meta,.task-tags{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b}.task-tags{background:#f1f5f9;padding:2px 6px;border-radius:4px}.task-assignee{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-left:auto}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:12px;font-weight:500;color:#64748b}.filter-group select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#1a1a2e;min-width:180px;cursor:pointer;outline:none;font-family:inherit}.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media(max-width:1200px){.board-columns{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.board-columns{grid-template-columns:1fr}.task-board-header{flex-direction:column;gap:16px;align-items:stretch}}.team-view{display:flex;flex-direction:column;gap:24px}.team-stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.summary-card{text-align:center}.summary-value{font-size:32px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.summary-label{font-size:13px;color:#64748b}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.team-member-card{display:flex;flex-direction:column;gap:16px}.member-header{display:flex;align-items:center;gap:16px}.member-avatar-large{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:18px;font-weight:600;display:flex;align-items:center;justify-content:center}.member-details{display:flex;flex-direction:column;gap:4px}.member-details .member-name{font-size:16px;font-weight:600;color:#1a1a2e;margin:0}.member-role-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#667eea;background:#667eea1a;padding:4px 10px;border-radius:6px;width:fit-content}.member-contact{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;padding:10px;background:#f8fafc;border-radius:8px}.member-contact svg{color:#94a3b8}.member-stats{display:flex;gap:16px}.member-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:#475569}.member-stat svg{color:#10b981}.member-progress{display:flex;flex-direction:column;gap:8px}.member-workload{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e2e8f0}.workload-label{font-size:12px;color:#64748b}.workload-value{font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px}.workload-value.high{color:#dc2626;background:#fee2e2}.workload-value.medium{color:#d97706;background:#fef3c7}.workload-value.low{color:#059669;background:#dcfce7}@media(max-width:1200px){.team-stats-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.team-stats-summary,.team-grid{grid-template-columns:1fr}}.settings{display:grid;grid-template-columns:220px 1fr;gap:24px;min-height:calc(100vh - 200px)}.settings-sidebar{display:flex;flex-direction:column;gap:4px}.settings-tab{display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.settings-tab:hover{background:#f1f5f9;color:#1a1a2e}.settings-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.settings-content{max-width:700px}.settings-form{display:flex;flex-direction:column;gap:20px}.profile-header{display:flex;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.profile-avatar-large{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:28px;font-weight:600;display:flex;align-items:center;justify-content:center}.settings-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-form .form-group{display:flex;flex-direction:column;gap:6px}.settings-form .form-group label{font-size:13px;font-weight:500;color:#475569}.settings-form .form-group input,.settings-form .form-group select,.settings-form .form-group textarea{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;outline:none;transition:all .2s;font-family:inherit}.settings-form .form-group input:focus,.settings-form .form-group select:focus,.settings-form .form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.settings-form .form-actions{padding-top:12px}.toggle-group{display:flex;flex-direction:column;gap:16px}.toggle-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:10px}.toggle-info{display:flex;flex-direction:column;gap:4px}.toggle-label{font-size:14px;font-weight:500;color:#1a1a2e}.toggle-description{font-size:12px;color:#64748b}.toggle-switch{position:relative;width:48px;height:26px;cursor:pointer}.toggle-slider{position:absolute;inset:0;background:#e2e8f0;border-radius:26px;transition:all .3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#667eea,#764ba2)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.color-options{display:flex;gap:10px}.color-option{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s}.security-section,.data-section,.help-section{padding:20px;background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:12px}.security-section h4,.data-section h4,.help-section h4{font-size:14px;font-weight:600;color:#1a1a2e;margin:0}.security-section p,.data-section p,.help-section p{font-size:13px;color:#64748b;margin:0}.data-section.danger{background:#fef2f2;border:1px solid #fecaca}.data-section.danger h4{color:#dc2626}.shortcuts-list{display:flex;flex-direction:column;gap:8px}.shortcut{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#475569}.shortcut kbd{padding:4px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-family:monospace;font-size:12px;color:#1a1a2e}@media(max-width:768px){.settings{grid-template-columns:1fr}.settings-sidebar{flex-direction:row;flex-wrap:wrap;gap:8px}.settings-tab span{display:none}.settings-tab{padding:10px;justify-content:center}.settings-form .form-row{grid-template-columns:1fr}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 20%,rgba(59,130,246,.25) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(30,64,175,.35) 0%,transparent 50%),radial-gradient(ellipse at 40% 60%,rgba(37,99,235,.2) 0%,transparent 40%),linear-gradient(135deg,#0a1628,#0f172a,#1e293b,#1e40af,#2563eb);background-size:100% 100%,100% 100%,100% 100%,200% 200%;animation:gradientShift 15s ease infinite;padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 70%,rgba(255,255,255,.05) 0%,transparent 30%),radial-gradient(circle at 70% 30%,rgba(255,255,255,.08) 0%,transparent 25%);animation:floatBg 20s ease-in-out infinite;pointer-events:none}.login-container:after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}@keyframes gradientShift{0%,to{background-position:0% 0%,100% 100%,50% 50%,0% 50%}25%{background-position:100% 0%,0% 100%,25% 75%,50% 50%}50%{background-position:100% 100%,0% 0%,75% 25%,100% 50%}75%{background-position:0% 100%,100% 0%,50% 50%,50% 100%}}@keyframes floatBg{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(2%,2%) rotate(1deg)}66%{transform:translate(-1%,1%) rotate(-1deg)}}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 25px 50px #00000040,0 0 0 1px #ffffff1a inset;width:100%;max-width:420px;padding:40px;position:relative;z-index:1;animation:cardAppear .6s ease-out}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:32px}.login-logo{margin-bottom:16px}.logo-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;font-weight:700;font-size:20px;border-radius:16px;letter-spacing:-.5px}.login-header h1{font-size:24px;font-weight:600;color:#1a1a2e;margin-bottom:8px}.login-header p{color:#64748b;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.login-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.login-error svg{flex-shrink:0}.form-group label{font-size:14px;font-weight:500;color:#374151}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s ease;background:#fff}.input-wrapper input::placeholder{color:#94a3b8}.input-wrapper input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.input-wrapper input:disabled{background:#f8fafc;cursor:not-allowed}.input-wrapper.error input{border-color:#ef4444}.input-wrapper.error input:focus{box-shadow:0 0 0 3px #ef44441a}.input-wrapper input[type=password],.input-wrapper input[type=text]+.password-toggle~input,.input-wrapper:has(.password-toggle) input{padding-right:44px}.password-toggle{position:absolute;right:12px;background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover{color:#64748b}.field-error{font-size:12px;color:#ef4444}.form-options{display:flex;align-items:center;justify-content:space-between}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#475569}.checkbox-label input{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid #e2e8f0;border-radius:4px;transition:all .2s ease;position:relative}.checkbox-label input:checked+.checkbox-custom{background:linear-gradient(135deg,#3b82f6,#1e40af);border-color:#2563eb}.checkbox-label input:checked+.checkbox-custom:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label:hover .checkbox-custom{border-color:#3b82f6}.forgot-link{font-size:14px;color:#3b82f6;text-decoration:none}.forgot-link:hover{text-decoration:underline}.login-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.demo-credentials{font-size:13px;color:#64748b;margin-bottom:12px;text-align:center}.credentials-list{display:flex;flex-direction:column;gap:8px}.credential-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8fafc;border-radius:8px;font-size:13px;color:#475569}.role-badge{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:24px}.login-header h1{font-size:20px}.form-options{flex-direction:column;align-items:flex-start;gap:12px}.credential-item{flex-direction:column;align-items:flex-start;gap:6px}}.access-denied{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:40px 20px}.access-denied-content{text-align:center;max-width:400px}.access-denied-icon{width:96px;height:96px;background:#fef2f2;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#ef4444}.access-denied h1{font-size:28px;font-weight:700;color:#1a1a2e;margin-bottom:12px}.access-denied p{font-size:15px;color:#64748b;line-height:1.6;margin-bottom:32px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.profile-container{padding:0;max-width:900px;margin:0 auto}.profile-header-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000d;margin-bottom:24px}.profile-cover{height:120px;background:linear-gradient(135deg,#667eea,#764ba2);position:relative}.profile-avatar-container{position:absolute;bottom:-40px;left:32px}.profile-avatar{width:96px;height:96px;border-radius:16px;background:#fff;border:4px solid white;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar svg{color:#94a3b8}.avatar-upload-btn{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:8px;background:#fff;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s}.avatar-upload-btn:hover{background:#667eea;border-color:#667eea;color:#fff}.profile-header-content{padding:56px 32px 24px}.profile-name-section{display:flex;align-items:center;gap:12px;margin-bottom:4px}.profile-name-section h1{font-size:24px;font-weight:700;color:#1a1a2e;margin:0}.profile-role-badge{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.profile-role-badge.role-badge-admin{background:#fef3c7;color:#92400e}.profile-role-badge.role-badge-manager{background:#dbeafe;color:#1e40af}.profile-role-badge.role-badge-user{background:#dcfce7;color:#166534}.profile-email{color:#64748b;font-size:14px;margin-bottom:12px}.profile-meta{display:flex;gap:24px}.profile-meta span{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.profile-content{display:flex;flex-direction:column;gap:24px}.profile-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000d}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.edit-btn{padding:8px 16px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.edit-btn:hover{background:#e2e8f0}.edit-actions{display:flex;gap:8px}.cancel-btn{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.save-btn{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.success-message,.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.success-message{background:#dcfce7;color:#166534}.error-message{background:#fef2f2;color:#dc2626}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#64748b}.info-item span{font-size:15px;color:#1a1a2e}.info-item input{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s}.info-item input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.role-value{display:flex;align-items:center;gap:8px}.mini-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.mini-badge.role-badge-admin{background:#fef3c7;color:#92400e}.mini-badge.role-badge-manager{background:#dbeafe;color:#1e40af}.mini-badge.role-badge-user{background:#dcfce7;color:#166534}.password-form{display:flex;flex-direction:column;gap:16px;max-width:400px}.password-field{display:flex;flex-direction:column;gap:6px}.password-field label{font-size:13px;font-weight:500;color:#64748b}.password-input{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.password-input:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-input svg:first-child{color:#94a3b8}.password-input input{flex:1;padding:10px 0;border:none;outline:none;font-size:14px;color:#1a1a2e}.password-input button{background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center}.password-input button:hover{color:#64748b}.change-password-btn{padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s;margin-top:8px}.change-password-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#f8fafc;border-radius:12px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-icon.users{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.active{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.menu{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.reports{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-icon.department{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-info{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:13px;color:#64748b}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px}.activity-icon{width:32px;height:32px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;color:#667eea}.activity-content{flex:1;display:flex;flex-direction:column;gap:2px}.activity-action{font-size:14px;font-weight:500;color:#1a1a2e}.activity-details{font-size:12px;color:#64748b}.activity-time{font-size:12px;color:#94a3b8}.assigned-list{display:flex;flex-direction:column;gap:8px}.assigned-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border-radius:8px;color:#1a1a2e;font-size:14px}.assigned-item svg{color:#667eea}@media(max-width:768px){.profile-header-content{padding:48px 20px 20px}.profile-avatar-container{left:20px}.profile-avatar{width:80px;height:80px}.profile-meta{flex-direction:column;gap:8px}.profile-section{padding:20px}.info-grid,.stats-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:12px}}.menu-assignment{background:#fff;border-radius:12px;padding:24px}.menu-assignment-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#64748b}.menu-assignment-empty svg{color:#cbd5e1;margin-bottom:16px}.menu-assignment-empty h3{font-size:18px;font-weight:600;color:#1a1a2e;margin-bottom:8px}.assignment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.user-info-header{display:flex;align-items:center;gap:16px}.user-avatar-small{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;overflow:hidden}.user-avatar-small img{width:100%;height:100%;object-fit:cover}.user-info-header h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 6px}.user-meta{display:flex;align-items:center;gap:12px}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:capitalize}.role-badge.admin{background:#fef3c7;color:#92400e}.role-badge.manager{background:#dbeafe;color:#1e40af}.role-badge.user{background:#dcfce7;color:#166534}.user-meta .email{font-size:13px;color:#64748b}.header-actions{display:flex;gap:8px}.bulk-toggle{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.bulk-toggle:hover{background:#e2e8f0}.bulk-toggle.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.bulk-assignment-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.bulk-section h4{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 12px}.bulk-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.bulk-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-radius:6px;cursor:pointer;transition:background .2s}.bulk-item:hover{background:#f1f5f9}.bulk-item input{accent-color:#667eea}.bulk-actions{grid-column:1 / -1;display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e2e8f0}.btn-grant,.btn-revoke{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-grant{background:#22c55e;color:#fff}.btn-grant:hover:not(:disabled){background:#16a34a}.btn-revoke{background:#ef4444;color:#fff}.btn-revoke:hover:not(:disabled){background:#dc2626}.btn-grant:disabled,.btn-revoke:disabled{opacity:.5;cursor:not-allowed}.search-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px}.search-bar svg{color:#94a3b8}.search-bar input{flex:1;border:none;background:none;outline:none;font-size:14px;color:#1a1a2e}.search-bar input::placeholder{color:#94a3b8}.menu-groups{display:flex;flex-direction:column;gap:16px}.menu-group{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.group-header{display:flex;align-items:center;gap:8px;padding:14px 16px;background:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.group-header:hover{background:#f1f5f9}.group-header svg{color:#64748b}.group-title{flex:1;font-size:14px;font-weight:600;color:#1a1a2e}.group-count{padding:2px 10px;background:#e2e8f0;border-radius:99px;font-size:12px;font-weight:500;color:#475569}.group-content{border-top:1px solid #e2e8f0}.empty-group{padding:20px;text-align:center;color:#94a3b8;font-size:13px}.menu-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;transition:background .2s}.menu-item-row:last-child{border-bottom:none}.menu-item-row:hover{background:#fafbfc}.menu-item-row.granted{background:#22c55e0d}.menu-item-row.revoked{background:#ef44440d}.menu-item-row.unavailable{opacity:.7}.menu-item-info{display:flex;align-items:center;gap:12px;flex:1}.menu-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff}.menu-icon.disabled{background:#e2e8f0;color:#94a3b8}.menu-details{display:flex;flex-direction:column;gap:2px}.menu-title{font-size:14px;font-weight:500;color:#1a1a2e}.menu-path{font-size:12px;color:#94a3b8;font-family:SF Mono,Monaco,Inconsolata,monospace}.source-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase}.source-badge.custom{background:#fef3c7;color:#92400e}.source-badge.role{background:#dbeafe;color:#1e40af}.source-badge.default{background:#f1f5f9;color:#64748b}.roles-list{font-size:12px;color:#94a3b8;font-style:italic}.menu-item-actions{display:flex;align-items:center;gap:8px}.btn-action{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-action.grant{background:#dcfce7;color:#166534;border-color:#bbf7d0}.btn-action.grant:hover{background:#bbf7d0}.btn-action.revoke{background:#fef2f2;color:#dc2626;border-color:#fecaca}.btn-action.revoke:hover{background:#fecaca}.btn-action.reset{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.btn-action.reset:hover{background:#e2e8f0}.assignment-legend{display:flex;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}@media(max-width:768px){.assignment-header{flex-direction:column;align-items:flex-start;gap:16px}.bulk-assignment-panel{grid-template-columns:1fr}.menu-item-row{flex-direction:column;align-items:flex-start;gap:12px}.menu-item-actions{width:100%;justify-content:flex-end}.assignment-legend{flex-direction:column;gap:12px}}.user-management{padding:0}.add-user-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-user-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.user-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.user-toolbar .search-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:300px}.user-toolbar .search-box svg{color:#94a3b8}.user-toolbar .search-box input{flex:1;border:none;outline:none;font-size:14px;color:#1a1a2e}.user-toolbar .search-box input::placeholder{color:#94a3b8}.user-count{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.users-table td{padding:16px;border-bottom:1px solid #f1f5f9}.users-table tbody tr:hover{background:#fafbfc}.users-table tbody tr:last-child td{border-bottom:none}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar span{color:#fff;font-size:16px;font-weight:600}.user-info{display:flex;flex-direction:column;gap:2px}.user-phone{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b}.email-cell{display:flex;align-items:center;gap:8px;font-size:14px;color:#475569}.email-cell svg{color:#94a3b8}.role-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.role-badge.role-admin{background:#fef3c7;color:#92400e}.role-badge.role-manager{background:#dbeafe;color:#1e40af}.role-badge.role-user{background:#dcfce7;color:#166534}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fef2f2;color:#dc2626}.last-login{font-size:13px;color:#64748b}.action-dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 40px #0000001a;min-width:140px;z-index:100;overflow:hidden}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0003}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=tel],.form-group select{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.user-toolbar{flex-direction:column;align-items:stretch;gap:12px}.user-toolbar .search-box{width:100%}.users-table-container{overflow-x:auto}.users-table{min-width:700px}}.rich-text-editor{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.rich-text-editor.disabled{opacity:.7;pointer-events:none}.editor-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.toolbar-group{display:flex;gap:2px;padding-right:8px;border-right:1px solid #e2e8f0}.toolbar-group:last-child{border-right:none}.toolbar-right{margin-left:auto;padding-right:0;border-right:none}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#475569;cursor:pointer;transition:all .15s}.toolbar-btn:hover:not(:disabled){background:#e2e8f0;color:#1a1a2e}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.editor-content{padding:16px 20px;outline:none;min-height:300px;font-size:15px;line-height:1.7;color:#1a1a2e}.editor-content:empty:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none}.editor-content:focus{background:#fafbfc}.editor-content h1{font-size:28px;font-weight:700;margin:20px 0 12px;color:#1a1a2e}.editor-content h2{font-size:22px;font-weight:600;margin:18px 0 10px;color:#1a1a2e}.editor-content h3{font-size:18px;font-weight:600;margin:16px 0 8px;color:#1a1a2e}.editor-content p{margin:0 0 12px}.editor-content ul,.editor-content ol{margin:12px 0;padding-left:24px}.editor-content li{margin:4px 0}.editor-content blockquote{margin:16px 0;padding:12px 20px;background:#f8fafc;border-left:4px solid #667eea;font-style:italic;color:#475569}.editor-content pre{margin:16px 0;padding:16px;background:#1a1a2e;border-radius:8px;overflow-x:auto;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;line-height:1.5;color:#e2e8f0}.editor-content code{padding:2px 6px;background:#f1f5f9;border-radius:4px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;color:#e11d48}.editor-content pre code{padding:0;background:transparent;border-radius:0;color:inherit}.editor-content a{color:#667eea;text-decoration:underline}.editor-content a:hover{color:#764ba2}.editor-content img{max-width:100%;height:auto;border-radius:8px;margin:12px 0}.editor-content hr{margin:24px 0;border:none;border-top:2px solid #e2e8f0}.editor-content table,.editor-table{width:100%;margin:16px 0;border-collapse:collapse;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.editor-content th,.editor-content td,.editor-table th,.editor-table td{padding:10px 14px;border:1px solid #e2e8f0;text-align:left}.editor-content th,.editor-table th{background:#f8fafc;font-weight:600;color:#1a1a2e}.editor-content td,.editor-table td{background:#fff}.editor-source{width:100%;padding:16px 20px;border:none;outline:none;resize:vertical;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px;line-height:1.6;color:#1a1a2e;background:#fafbfc}.editor-source:focus{background:#fff}.editor-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.editor-modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:400px;box-shadow:0 20px 60px #0003}.editor-modal h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 20px}.modal-field{margin-bottom:16px}.modal-field label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.modal-field input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s}.modal-field input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.btn-cancel{padding:10px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f1f5f9}.btn-insert{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.btn-insert:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}@media(max-width:768px){.editor-toolbar{padding:6px 8px}.toolbar-group{padding-right:6px}.toolbar-btn{width:28px;height:28px}.toolbar-btn svg{width:16px;height:16px}.editor-content{padding:12px 16px;font-size:14px}}.custom-page-editor{display:flex;flex-direction:column;height:100%;background:#f8fafc}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0}.header-left{display:flex;align-items:center;gap:16px}.editor-header h1{font-size:20px;font-weight:600;color:#1a1a2e;margin:0}.status-badge{padding:4px 12px;border-radius:99px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.status-published{background:#dcfce7;color:#166534}.status-badge.status-draft{background:#fef3c7;color:#92400e}.status-badge.status-archived{background:#f1f5f9;color:#64748b}.unsaved-indicator{display:flex;align-items:center;gap:4px;font-size:13px;color:#f59e0b}.header-actions{display:flex;align-items:center;gap:8px}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#f1f5f9;color:#1a1a2e}.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f1f5f9}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.btn-warning{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f59e0b;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.btn-warning:hover{background:#d97706}.save-message{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500}.save-message.success{background:#dcfce7;color:#166534}.save-message.error{background:#fef2f2;color:#dc2626}.editor-body{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:24px;flex:1;overflow:auto}.editor-main{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-size:13px;font-weight:600;color:#475569}.title-input{padding:16px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;font-size:24px;font-weight:600;color:#1a1a2e;outline:none;transition:all .2s}.title-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.title-input::placeholder{color:#94a3b8}.editor-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-section{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0}.sidebar-section h3{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 16px}.sidebar-section .form-field input,.sidebar-section .form-field textarea{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;resize:vertical;transition:all .2s}.sidebar-section .form-field input:focus,.sidebar-section .form-field textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.slug-input-wrapper{display:flex;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.slug-prefix{padding:10px 12px 10px 14px;background:#f8fafc;color:#64748b;font-family:SF Mono,monospace;font-size:14px}.slug-input-wrapper input{flex:1;border:none!important;border-radius:0!important;font-family:SF Mono,monospace}.slug-input-wrapper input:focus{box-shadow:none!important}.char-count{font-size:12px;color:#94a3b8;text-align:right;margin-top:4px}.image-preview{margin-top:12px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.image-preview img{width:100%;height:auto;display:block}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f1f5f9}.info-row:last-child{border-bottom:none}.info-label{font-size:13px;color:#64748b}.info-value{font-size:13px;color:#1a1a2e;font-weight:500}.btn-danger{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:14px;font-weight:500;color:#dc2626;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#fecaca}.preview-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:40px}.preview-modal{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e2e8f0}.preview-header h2{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.preview-header button{padding:8px;background:transparent;border:none;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s}.preview-header button:hover{background:#f1f5f9;color:#1a1a2e}.preview-content{padding:32px 40px;overflow-y:auto;flex:1}.preview-title{font-size:32px;font-weight:700;color:#1a1a2e;margin:0 0 24px}.preview-body{font-size:16px;line-height:1.8;color:#475569}.preview-body h1,.preview-body h2,.preview-body h3{color:#1a1a2e;margin:24px 0 12px}.preview-body p{margin:0 0 16px}.preview-body img{max-width:100%;border-radius:8px;margin:16px 0}.history-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:40px}.history-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.history-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e2e8f0}.history-header h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.history-header button{padding:8px;background:transparent;border:none;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s}.history-header button:hover{background:#f1f5f9;color:#1a1a2e}.history-content{padding:20px;overflow-y:auto;flex:1}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#94a3b8;text-align:center}.history-empty svg{margin-bottom:12px}.version-list{display:flex;flex-direction:column;gap:12px}.version-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.version-info{flex:1}.version-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.version-number{font-size:14px;font-weight:600;color:#1a1a2e}.version-title{font-size:14px;color:#475569;margin-bottom:8px}.version-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.version-meta span{display:flex;align-items:center;gap:4px}.version-note{margin-top:8px;padding:8px 12px;background:#fff;border-radius:6px;font-size:13px;font-style:italic;color:#64748b}.btn-restore{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.btn-restore:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}@media(max-width:1024px){.editor-body{grid-template-columns:1fr}.editor-sidebar{order:-1}}@media(max-width:768px){.editor-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{flex-wrap:wrap}.preview-modal-overlay,.history-modal-overlay,.preview-content{padding:20px}}.menu-management{padding:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-info h1{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.add-menu-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-menu-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.menu-list{display:flex;flex-direction:column;gap:12px}.menu-item-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .2s}.menu-item-card:hover{box-shadow:0 4px 12px #0000001a}.menu-item-card.inactive{opacity:.6}.menu-item-drag{color:#cbd5e1;cursor:grab}.menu-item-drag:hover{color:#94a3b8}.menu-item-icon{width:44px;height:44px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.menu-item-content{flex:1;min-width:0}.menu-item-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.inactive-badge{font-size:10px;font-weight:500;padding:2px 6px;background:#fef2f2;color:#ef4444;border-radius:4px;text-transform:uppercase}.menu-item-path{font-size:13px;color:#64748b;font-family:SF Mono,Monaco,Inconsolata,monospace}.menu-item-roles{display:flex;gap:6px;flex-wrap:wrap}.role-chip{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}.role-chip.admin{background:#fef3c7;color:#92400e}.role-chip.manager{background:#dbeafe;color:#1e40af}.role-chip.user{background:#dcfce7;color:#166534}.menu-item-order{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 16px}.order-label{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.order-value{font-size:16px;font-weight:600;color:#1a1a2e}.menu-item-actions{position:relative}.action-menu-btn{padding:8px;background:none;border:none;border-radius:6px;cursor:pointer;color:#64748b;transition:all .2s}.action-dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 40px #0000001a;min-width:150px;z-index:100;overflow:hidden}.action-dropdown button:hover{background:#f8fafc}.action-dropdown button.delete:hover{background:#fef2f2}.modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0003}.close-btn{padding:8px;background:none;border:none;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s}.modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 150px)}.form-group label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:8px}.form-group input[type=text],.form-group input[type=number]{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.icon-selector{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.icon-option{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:all .2s}.icon-option:hover{border-color:#667eea;color:#667eea}.icon-option.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.route-input{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s}.route-input:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.route-prefix{padding:10px 12px;background:#f8fafc;color:#64748b;font-family:SF Mono,Monaco,Inconsolata,monospace;border-right:1px solid #e2e8f0}.route-input input{flex:1;padding:10px 14px;border:none;outline:none;font-size:14px;color:#1a1a2e;font-family:SF Mono,Monaco,Inconsolata,monospace}.role-toggles{display:flex;gap:12px}.role-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.role-toggle input{display:none}.role-toggle-label{padding:8px 16px;border:2px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500;transition:all .2s}.role-toggle input:checked+.role-toggle-label.admin{background:#fef3c7;border-color:#f59e0b;color:#92400e}.role-toggle input:checked+.role-toggle-label.manager{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.role-toggle input:checked+.role-toggle-label.user{background:#dcfce7;border-color:#22c55e;color:#166534}.form-group.checkbox label{display:flex;align-items:center;gap:10px;cursor:pointer}.form-group.checkbox input{display:none}.form-group.checkbox .checkbox-custom{width:20px;height:20px;border:2px solid #e2e8f0;border-radius:4px;transition:all .2s;position:relative}.form-group.checkbox input:checked+.checkbox-custom{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.form-group.checkbox input:checked+.checkbox-custom:after{content:"";position:absolute;top:3px;left:6px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.cancel-btn{padding:10px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.confirm-icon{width:56px;height:56px;background:#fef2f2;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#ef4444}.confirm-modal h3{font-size:18px;font-weight:600;color:#1a1a2e;margin-bottom:8px}.confirm-modal p{font-size:14px;color:#64748b;margin-bottom:24px}.confirm-actions button{flex:1}.delete-btn{padding:10px 20px;background:#ef4444;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.delete-btn:hover{background:#dc2626}.management-tabs{display:flex;gap:4px;margin-bottom:24px;padding:4px;background:#f1f5f9;border-radius:10px;width:fit-content}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.tab-btn:hover{color:#475569;background:#ffffff80}.tab-btn.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px #0000001a}.tab-btn svg{flex-shrink:0}.pages-list{display:flex;flex-direction:column;gap:12px}.empty-pages{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;text-align:center;color:#94a3b8}.empty-pages svg{margin-bottom:16px;color:#cbd5e1}.empty-pages h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.empty-pages p{font-size:14px;margin:0 0 20px}.page-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .2s}.page-card:hover{box-shadow:0 4px 12px #0000001a}.page-card-status{width:44px;height:44px;background:#f8fafc;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon.published{color:#22c55e}.status-icon.draft{color:#f59e0b}.status-icon.archived{color:#94a3b8}.page-card-content{flex:1;min-width:0}.page-card-title{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.page-card-meta{display:flex;align-items:center;gap:12px;margin-bottom:8px}.page-slug{font-size:13px;color:#64748b;font-family:SF Mono,Monaco,Inconsolata,monospace}.page-linked{display:flex;align-items:center;gap:4px;font-size:12px;color:#667eea;padding:2px 8px;background:#eff6ff;border-radius:4px}.page-card-info{display:flex;align-items:center;gap:12px}.page-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:capitalize}.page-status.published{background:#dcfce7;color:#166534}.page-status.draft{background:#fef3c7;color:#92400e}.page-status.archived{background:#f1f5f9;color:#64748b}.page-date{font-size:12px;color:#94a3b8}.page-card-actions{display:flex;gap:8px}.page-card-actions .btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s}.page-card-actions .btn-icon:hover{background:#e2e8f0;color:#1a1a2e}.page-card-actions .btn-icon.delete:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.menu-item-card{flex-wrap:wrap}.menu-item-roles{width:100%;margin-top:8px;padding-left:76px}.menu-item-order{position:absolute;right:48px;top:16px}.icon-selector{grid-template-columns:repeat(6,1fr)}}.notice-management{padding:0}.notice-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.notice-management .header-info h1{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.notice-management .header-info p{font-size:14px;color:#64748b;margin:0}.add-notice-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-notice-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.notice-tabs{display:flex;gap:8px;margin-bottom:20px;padding:6px;background:#f1f5f9;border-radius:12px;width:fit-content}.notice-tab{display:flex;align-items:center;gap:10px;padding:12px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.notice-tab:hover{color:#475569;background:#ffffff80}.notice-tab.active{background:#fff;color:#1a1a2e;box-shadow:0 2px 8px #00000014}.notice-tab svg{flex-shrink:0}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#667eea1a;border-radius:11px;font-size:12px;font-weight:600;color:#667eea}.notice-tab.active .tab-count{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.notice-location-info{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#667eea0f,#764ba20f);border:1px solid rgba(102,126,234,.15);border-radius:12px;margin-bottom:20px}.location-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;flex-shrink:0}.location-text h3{font-size:15px;font-weight:600;color:#1a1a2e;margin:0 0 4px}.location-text p{font-size:13px;color:#64748b;margin:0;line-height:1.5}.notice-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.notice-toolbar .search-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:300px}.notice-toolbar .search-box svg{color:#94a3b8}.notice-toolbar .search-box input{flex:1;border:none;outline:none;font-size:14px;color:#1a1a2e}.notice-toolbar .search-box input::placeholder{color:#94a3b8}.notice-count{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.notices-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:visible}.notices-table{width:100%;border-collapse:collapse;border-radius:12px}.notices-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.notices-table td{padding:16px;border-bottom:1px solid #f1f5f9}.notices-table tbody tr:hover{background:#fafbfc}.notices-table tbody tr:last-child td{border-bottom:none}.notice-cell{display:flex;align-items:center;gap:12px}.notice-type-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notice-type-icon.type-info{background:#3b82f61a;color:#3b82f6}.notice-type-icon.type-warning{background:#f59e0b1a;color:#f59e0b}.notice-type-icon.type-critical{background:#ef44441a;color:#ef4444}.notice-type-icon.type-announcement{background:#6366f11a;color:#6366f1}.notice-info{display:flex;flex-direction:column;gap:2px}.notice-info .notice-title{font-size:14px;font-weight:600;color:#1a1a2e}.notice-message-preview{font-size:12px;color:#64748b}.type-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge.type-info{background:#3b82f61a;color:#3b82f6}.type-badge.type-warning{background:#f59e0b1a;color:#f59e0b}.type-badge.type-critical{background:#ef44441a;color:#ef4444}.type-badge.type-announcement{background:#6366f11a;color:#6366f1}.target-cell{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}.target-cell svg{color:#94a3b8}.date-cell{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569}.date-cell svg{color:#94a3b8}.status-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.status-toggle.active{background:#22c55e1a;color:#22c55e}.status-toggle.inactive{background:#6b72801a;color:#6b7280}.status-toggle:hover{transform:scale(1.02)}.actions-cell{position:relative}.action-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.action-menu-btn:hover{background:#f1f5f9;color:#1a1a2e}.action-dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:140px;z-index:100;overflow:hidden}.action-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;font-size:13px;color:#475569;cursor:pointer;transition:all .2s}.action-dropdown button:hover{background:#f8fafc;color:#1a1a2e}.action-dropdown button.delete{color:#ef4444}.action-dropdown button.delete:hover{background:#ef444414}.empty-state{text-align:center;padding:60px 20px!important;color:#94a3b8}.empty-state svg{margin-bottom:16px;opacity:.4}.empty-state p{margin:0 0 16px;font-size:14px}.add-first-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.add-first-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #00000026;animation:scaleIn .2s ease}.notice-modal{max-width:600px}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header h2{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s}.close-btn:hover{background:#e2e8f0;color:#1a1a2e}.modal-body{padding:24px;max-height:calc(90vh - 140px);overflow-y:auto}.form-group label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-section{margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:10px}.form-section h3{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 12px}.target-type-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.target-type-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#64748b;cursor:pointer;transition:all .2s}.target-type-btn:hover{border-color:#667eea;color:#667eea}.target-type-btn.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea;color:#667eea}.checkbox-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;background:#fff;border-radius:8px}.checkbox-list.scrollable{max-height:160px}.checkbox-item{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#475569}.checkbox-item input[type=checkbox]{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.checkbox-item input[type=checkbox]:checked+.checkbox-custom{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.checkbox-item input[type=checkbox]:checked+.checkbox-custom:after{content:"";width:5px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label{display:flex;flex-direction:column;gap:2px}.checkbox-label .user-email{font-size:11px;color:#94a3b8}.form-options{display:flex;flex-wrap:wrap;gap:16px;padding-top:8px}.form-hint{display:block;font-size:11px;color:#94a3b8;margin-top:4px}.checkbox-item.standalone{padding-top:8px}.cancel-btn{padding:10px 20px;background:#f1f5f9;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#e2e8f0;color:#1a1a2e}.submit-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.delete-btn{padding:10px 20px;background:linear-gradient(135deg,#f87171,#ef4444);border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.delete-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.confirm-modal{max-width:400px;text-align:center;padding:32px}.confirm-icon{width:56px;height:56px;margin:0 auto 20px;background:#ef44441a;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#ef4444}.confirm-modal h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.confirm-modal p{font-size:14px;color:#64748b;margin:0 0 24px;line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:center}.preview-modal{max-width:550px}.preview-location-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:6px;font-size:12px;font-weight:500;color:#667eea;margin-bottom:16px}.preview-notice{margin-bottom:20px}.preview-notice-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px}.preview-notice-item.notice-info{background:linear-gradient(135deg,#3b82f614,#3b82f61f);border-left:3px solid #3b82f6}.preview-notice-item.notice-warning{background:linear-gradient(135deg,#f59e0b14,#f59e0b1f);border-left:3px solid #f59e0b}.preview-notice-item.notice-critical{background:linear-gradient(135deg,#ef444414,#ef44441f);border-left:3px solid #ef4444}.preview-notice-item.notice-announcement{background:linear-gradient(135deg,#6366f114,#6366f11f);border-left:3px solid #6366f1}.preview-notice-item .notice-icon{flex-shrink:0}.preview-notice-item.notice-info .notice-icon{color:#3b82f6}.preview-notice-item.notice-warning .notice-icon{color:#f59e0b}.preview-notice-item.notice-critical .notice-icon{color:#ef4444}.preview-notice-item.notice-announcement .notice-icon{color:#6366f1}.preview-notice-item .notice-content{display:flex;align-items:center;gap:8px;flex:1}.preview-notice-item .notice-title{font-size:14px;font-weight:600;color:#1a1a2e}.preview-notice-item .notice-separator{color:#94a3b8}.preview-notice-item .notice-message{font-size:14px;color:#475569}.preview-notice-item .notice-dismiss{padding:4px;background:transparent;border:none;border-radius:4px;color:#94a3b8;cursor:pointer}.preview-details{display:flex;flex-direction:column;gap:12px;padding:16px;background:#f8fafc;border-radius:10px}.detail-item{display:flex;align-items:center;gap:12px}.detail-label{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.detail-item span:last-child{font-size:13px;color:#1a1a2e}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#94a3b8}.access-denied svg{margin-bottom:20px;opacity:.4}.access-denied h2{font-size:20px;font-weight:600;color:#475569;margin:0 0 8px}.access-denied p{font-size:14px;margin:0}@media(max-width:768px){.form-row{grid-template-columns:1fr}.target-type-selector{grid-template-columns:repeat(2,1fr)}.notice-management .page-header{flex-direction:column;align-items:flex-start;gap:16px}.notice-toolbar{flex-direction:column;gap:12px}.notice-toolbar .search-box{width:100%}}.tools-management{padding:0}.tools-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tools-management .header-info h1{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.tools-management .header-info p{font-size:14px;color:#64748b;margin:0}.add-tool-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-tool-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.tools-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tools-toolbar .search-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:300px}.tools-toolbar .search-box input{border:none;outline:none;font-size:14px;width:100%;background:transparent}.tools-toolbar .search-box svg{color:#94a3b8}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.tool-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0;transition:all .2s}.tool-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.tool-card.inactive{opacity:.6;background:#f8fafc}.tool-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.tool-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#64748b}.tool-icon.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tool-actions{position:relative}.tool-actions .action-btn{background:transparent;border:none;padding:8px;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s}.tool-actions .action-btn:hover{background:#f1f5f9;color:#1a1a2e}.tool-actions .dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:160px;z-index:100;overflow:hidden}.tool-actions .dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;font-size:14px;color:#475569;cursor:pointer;transition:background .2s}.tool-actions .dropdown-menu button:hover{background:#f1f5f9}.tool-actions .dropdown-menu button.danger{color:#ef4444}.tool-actions .dropdown-menu button.danger:hover{background:#fef2f2}.tool-info h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.tool-info p{font-size:14px;color:#64748b;margin:0;line-height:1.5}.tool-meta{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.tool-status span{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500}.status-active{color:#10b981}.status-inactive{color:#94a3b8}.tool-access-info{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.empty-state svg{color:#94a3b8;margin-bottom:16px}.empty-state h3{font-size:18px;color:#1a1a2e;margin:0 0 8px}.empty-state p{font-size:14px;color:#64748b;margin:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-content.small{max-width:400px}.modal-content.large{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:18px;font-weight:600;margin:0;color:#1a1a2e}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#475569;margin-bottom:8px}.form-group input[type=text],.form-group input[type=email],.form-group textarea,.form-group select{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-group.checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary{padding:10px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-danger{padding:10px 20px;background:#ef4444;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626}.access-section{margin-bottom:24px}.access-section:last-child{margin-bottom:0}.access-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.access-section .section-desc{font-size:13px;color:#64748b;margin:0 0 16px}.access-list{display:flex;flex-direction:column;gap:8px}.access-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;cursor:pointer;transition:background .2s}.access-item:hover{background:#f1f5f9}.access-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.role-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:capitalize}.role-badge.role-admin{background:#fef2f2;color:#dc2626}.role-badge.role-manager{background:#fef3c7;color:#d97706}.role-badge.role-user{background:#dbeafe;color:#2563eb}.role-desc{font-size:13px;color:#64748b;flex:1}.access-list.users .access-item{display:grid;grid-template-columns:auto auto 1fr auto}.user-name{font-size:14px;font-weight:500;color:#1a1a2e}.user-email{font-size:13px;color:#64748b;text-align:right}.revenue-dashboard{display:flex;flex-direction:column;gap:24px}.revenue-alerts{display:flex;flex-direction:column;gap:8px}.revenue-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:14px}.revenue-alert.alert-low{background:#eff6ff;color:#3b82f6}.revenue-alert.alert-medium{background:#fffbeb;color:#f59e0b}.revenue-alert.alert-high{background:#fef2f2;color:#ef4444}.revenue-alert.alert-critical{background:#fee2e2;color:#dc2626;font-weight:500}.revenue-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.revenue-stats-single{display:flex;justify-content:flex-start}.revenue-stats-single .revenue-stat-card.large{padding:24px 32px;min-width:280px}.revenue-stats-single .revenue-stat-card.large .stat-icon{width:56px;height:56px;border-radius:14px}.revenue-stats-single .revenue-stat-card.large .stat-value{font-size:32px}.revenue-stat-card{background:#fff;border-radius:16px;padding:20px;display:flex;gap:16px;box-shadow:0 1px 3px #0000001a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-earned .stat-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-potential .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.stat-pending .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-conversion .stat-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:13px;color:#64748b;font-weight:500}.stat-value{font-size:24px;font-weight:700;color:#1a1a2e}.stat-trend{display:flex;align-items:center;gap:4px;font-size:12px}.stat-trend .trend-up{color:#10b981}.stat-trend .trend-down{color:#ef4444}.stat-subtext{font-size:12px;color:#94a3b8}.target-card{background:linear-gradient(135deg,#3b82f6,#1e40af)}.target-card .card-title{color:#fff}.target-content{display:flex;flex-direction:column;gap:16px}.target-header{display:flex;justify-content:space-between;align-items:center;color:#fff}.target-info{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.target-earned{font-size:14px;font-weight:600}.target-footer{display:flex;justify-content:space-between;font-size:13px;color:#fffc}.revenue-charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.chart-card{min-height:350px}.chart-container{padding:16px 0}.pie-chart-container{display:flex;flex-direction:column;align-items:center}.pie-legend{display:flex;flex-direction:column;gap:8px;width:100%;padding:0 16px}.pie-legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.pie-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.pie-legend-name{flex:1;color:#64748b}.pie-legend-value{font-weight:600;color:#1a1a2e}.period-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.period-stat-card{padding:16px}.period-stat{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}.period-label{font-size:13px;color:#64748b;font-weight:500}.period-value{font-size:22px;font-weight:700;color:#1a1a2e}.recent-earnings-card{margin-top:0}.recent-earnings-list{display:flex;flex-direction:column;gap:12px}.recent-earning-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-radius:10px;transition:background .2s}.recent-earning-item:hover{background:#f1f5f9}.earning-item-left{display:flex;align-items:center;gap:12px}.earning-category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.earning-details{display:flex;flex-direction:column;gap:2px}.earning-title{font-size:14px;font-weight:500;color:#1a1a2e}.earning-meta{font-size:12px;color:#64748b}.earning-item-right{display:flex;align-items:center;gap:12px}.earning-amount{font-size:15px;font-weight:600;color:#10b981}.performance-metrics{margin-top:0}.metrics-card{padding:20px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.metric-item{display:flex;flex-direction:column;gap:12px}.metric-header{display:flex;justify-content:space-between;align-items:center}.metric-label{font-size:13px;color:#64748b;font-weight:500}.metric-value{font-size:18px;font-weight:700;color:#1a1a2e}.no-data{padding:40px;text-align:center;color:#94a3b8;font-size:14px}@media(max-width:1200px){.revenue-stats-grid,.period-stats-grid{grid-template-columns:repeat(2,1fr)}.revenue-charts-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.revenue-stats-grid{grid-template-columns:1fr}.period-stats-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid{grid-template-columns:1fr}}.potential-revenue{display:flex;flex-direction:column;gap:24px}.potential-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.potential-stat-card{background:#fff;border-radius:12px;padding:16px;display:flex;gap:12px;box-shadow:0 1px 3px #0000001a}.potential-stat-card .stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.potential-stat-card .stat-icon.blue{background:#eff6ff;color:#3b82f6}.potential-stat-card .stat-icon.green{background:#ecfdf5;color:#10b981}.potential-stat-card .stat-icon.orange{background:#fffbeb;color:#f59e0b}.potential-stat-card .stat-icon.purple{background:#f5f3ff;color:#8b5cf6}.potential-stat-card .stat-content{display:flex;flex-direction:column;gap:2px}.potential-stat-card .stat-label{font-size:12px;color:#64748b;font-weight:500}.potential-stat-card .stat-value{font-size:20px;font-weight:700;color:#1a1a2e}.potential-stat-card .stat-subtext{font-size:11px;color:#94a3b8}.potential-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.potential-charts-grid .chart-card{min-height:300px}.filter-card{padding:16px 20px}.filter-row{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;color:#64748b;font-weight:500}.filter-group select{padding:8px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;cursor:pointer;min-width:150px}.filter-group select:focus{outline:none;border-color:#3b82f6}.sort-buttons{display:flex;gap:8px;margin-left:auto}.sort-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #E2E8F0;border-radius:8px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s}.sort-btn:hover{background:#f8fafc;border-color:#cbd5e1}.sort-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.at-risk-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fef2f2;border-radius:8px;color:#dc2626;font-size:14px}.at-risk-alert strong{font-weight:600}.pipeline-card{min-height:400px}.pipeline-list{display:flex;flex-direction:column;gap:8px}.pipeline-item{background:#f8fafc;border-radius:10px;overflow:hidden;transition:all .2s}.pipeline-item:hover{background:#f1f5f9}.pipeline-item.overdue{border-left:3px solid #EF4444}.pipeline-item.due-soon{border-left:3px solid #F59E0B}.pipeline-item-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer}.pipeline-item-left{display:flex;align-items:center;gap:12px}.category-indicator{width:4px;height:36px;border-radius:2px}.pipeline-item-info{display:flex;flex-direction:column;gap:2px}.pipeline-item-title{font-size:14px;font-weight:500;color:#1a1a2e}.pipeline-item-meta{font-size:12px;color:#64748b}.pipeline-item-right{display:flex;align-items:center;gap:16px}.pipeline-item-badges{display:flex;gap:6px}.pipeline-item-amount{font-size:16px;font-weight:600;color:#3b82f6;min-width:80px;text-align:right}.pipeline-item-due{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;min-width:110px}.pipeline-item-due .overdue-text{color:#ef4444;font-weight:500}.pipeline-item-due .due-soon-text{color:#f59e0b;font-weight:500}.pipeline-item-details{padding:0 16px 16px;border-top:1px solid #E2E8F0;margin-top:0;background:#fff}.task-description{font-size:13px;color:#64748b;line-height:1.5;margin:12px 0}.task-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:13px;color:#1a1a2e;font-weight:500;text-transform:capitalize}.task-tags{display:flex;flex-wrap:wrap;gap:6px}.task-tag{padding:4px 8px;background:#e2e8f0;border-radius:4px;font-size:11px;color:#64748b}.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;color:#94a3b8}.no-data p{font-size:14px}.forecast-card{margin-top:0}.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.forecast-item{display:flex;flex-direction:column;gap:12px}.forecast-header{display:flex;justify-content:space-between;align-items:center}.forecast-header span:first-child{font-size:13px;color:#64748b;font-weight:500}.forecast-amount{font-size:18px;font-weight:700;color:#1a1a2e}@media(max-width:1200px){.potential-stats-grid{grid-template-columns:repeat(2,1fr)}.potential-charts-grid{grid-template-columns:1fr}.task-details-grid{grid-template-columns:repeat(2,1fr)}.forecast-grid{grid-template-columns:1fr;gap:16px}}@media(max-width:768px){.potential-stats-grid{grid-template-columns:1fr}.filter-row{flex-direction:column;align-items:stretch}.sort-buttons{margin-left:0;flex-wrap:wrap}.pipeline-item-header{flex-direction:column;align-items:flex-start;gap:12px}.pipeline-item-right{width:100%;justify-content:space-between}.task-details-grid{grid-template-columns:1fr}}.task-categories{display:flex;flex-direction:column;gap:24px}.categories-header{display:flex;justify-content:space-between;align-items:flex-start}.categories-header h2{font-size:20px;font-weight:600;color:#1a1a2e;margin:0 0 4px}.categories-header p{font-size:14px;color:#64748b;margin:0}.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.category-card{padding:20px;position:relative}.category-header{display:flex;gap:12px;margin-bottom:16px}.category-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.category-title-section{flex:1;min-width:0}.category-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.category-title h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0}.category-description{font-size:13px;color:#64748b;margin:0;line-height:1.4}.category-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.category-card:hover .category-actions{opacity:1}.action-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn.edit{background:#eff6ff;color:#3b82f6}.action-btn.edit:hover{background:#dbeafe}.action-btn.delete{background:#fef2f2;color:#ef4444}.action-btn.delete:hover{background:#fee2e2}.category-details{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-top:1px solid #E2E8F0;border-bottom:1px solid #E2E8F0}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px}.detail-value{font-size:13px;font-weight:500;color:#1a1a2e}.category-stats{display:flex;gap:24px;padding-top:16px}.category-stats .stat{display:flex;flex-direction:column;gap:2px}.category-stats .stat-value{font-size:18px;font-weight:700;color:#1a1a2e}.category-stats .stat-label{font-size:12px;color:#94a3b8}.delete-confirm{position:absolute;inset:0;background:#fffffff2;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10}.delete-confirm p{font-size:14px;font-weight:500;color:#1a1a2e;margin:0}.confirm-actions{display:flex;gap:8px}.confirm-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.confirm-btn.cancel{background:#f1f5f9;color:#64748b}.confirm-btn.cancel:hover{background:#e2e8f0}.confirm-btn.delete{background:#ef4444;color:#fff}.confirm-btn.delete:hover{background:#dc2626}.category-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#374151}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{padding:10px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6}.form-group input.error,.form-group textarea.error,.form-group select.error{border-color:#ef4444}.form-group textarea{resize:vertical;min-height:60px}.error-text{font-size:12px;color:#ef4444}.form-hint{font-size:12px;color:#94a3b8}.input-with-prefix{display:flex;align-items:center;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden}.input-prefix{padding:10px 12px;background:#f8fafc;color:#64748b;font-size:14px;border-right:1px solid #E2E8F0}.input-with-prefix input{border:none;flex:1}.input-with-prefix input:focus{outline:none}.icon-grid{display:flex;flex-wrap:wrap;gap:8px}.icon-option{width:40px;height:40px;border:2px solid #E2E8F0;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}.icon-option:hover{border-color:#cbd5e1;background:#f8fafc}.icon-option.selected{border-width:2px;background:#f8fafc}.color-grid{display:flex;flex-wrap:wrap;gap:8px}.color-option{width:32px;height:32px;border:2px solid transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#1a1a2e}.toggle-group{flex-direction:row;align-items:center;gap:12px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.toggle-label input{display:none}.toggle-slider{width:40px;height:22px;background:#e2e8f0;border-radius:11px;position:relative;transition:background .2s}.toggle-slider:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-label input:checked+.toggle-slider{background:#3b82f6}.toggle-label input:checked+.toggle-slider:after{transform:translate(18px)}.toggle-group .form-hint{margin-left:auto}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #E2E8F0;margin-top:4px}@media(max-width:1200px){.categories-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.categories-header{flex-direction:column;gap:16px}.categories-grid,.form-row{grid-template-columns:1fr}.category-actions{opacity:1}}.revenue-management{display:flex;flex-direction:column;gap:24px}.management-tabs{display:flex;gap:8px;border-bottom:1px solid #E2E8F0;padding-bottom:0}.management-tabs .tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:none;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.management-tabs .tab:hover{color:#3b82f6}.management-tabs .tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-count{background:#e2e8f0;color:#64748b;padding:2px 8px;border-radius:10px;font-size:12px}.tab-count.warning{background:#fef3c7;color:#d97706}.summary-stats{display:flex;gap:20px}.summary-stat{background:#fff;border-radius:12px;padding:16px 24px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:4px}.summary-stat .stat-label{font-size:12px;color:#64748b;font-weight:500;text-transform:uppercase}.summary-stat .stat-value{font-size:24px;font-weight:700;color:#1a1a2e}.summary-stat .stat-count{font-size:12px;color:#94a3b8}.summary-stat.earned .stat-value{color:#10b981}.summary-stat.pending .stat-value{color:#f59e0b}.actions-bar{display:flex;justify-content:space-between;align-items:center;gap:16px}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:8px 12px;width:300px}.search-box input{border:none;outline:none;flex:1;font-size:14px;color:#1a1a2e}.search-box input::placeholder{color:#94a3b8}.search-box svg{color:#94a3b8}.actions-right{display:flex;gap:12px}.filters-card{padding:16px 20px}.filters-grid{display:flex;gap:16px;flex-wrap:wrap}.filters-grid .filter-group{display:flex;flex-direction:column;gap:4px;min-width:150px}.filters-grid .filter-group label{font-size:11px;color:#64748b;font-weight:500;text-transform:uppercase}.filters-grid .filter-group select,.filters-grid .filter-group input[type=date]{padding:8px 10px;border:1px solid #E2E8F0;border-radius:6px;font-size:13px;color:#1a1a2e;background:#fff}.entries-table-card{padding:0;overflow:hidden}.entries-table{width:100%;border-collapse:collapse;font-size:14px}.entries-table th{text-align:left;padding:12px 16px;background:#f8fafc;color:#64748b;font-weight:500;font-size:12px;text-transform:uppercase;border-bottom:1px solid #E2E8F0}.entries-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.entries-table th.sortable:hover{color:#3b82f6}.entries-table th.sortable svg{display:inline-block;vertical-align:middle;margin-left:4px}.entries-table td{padding:14px 16px;border-bottom:1px solid #E2E8F0;color:#1a1a2e}.entries-table tr:last-child td{border-bottom:none}.entries-table tr:hover td{background:#f8fafc}.entry-description{display:flex;align-items:center;gap:8px}.entry-notes{color:#94a3b8;cursor:help}.category-tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.project-task-cell{display:flex;flex-direction:column;gap:4px}.project-tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;background:#eff6ff;color:#3b82f6}.task-tag{display:inline-block;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;background:#f3f4f6;color:#6b7280;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-project{color:#94a3b8}.quantity-cell{text-align:center;font-weight:500;color:#64748b}.amount-cell{font-weight:600;font-family:SF Mono,Monaco,monospace}.entry-actions{display:flex;gap:4px}.entry-actions .action-btn{width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.entry-actions .action-btn.view{background:#f1f5f9;color:#64748b}.entry-actions .action-btn.view:hover{background:#e2e8f0}.entry-actions .action-btn.edit{background:#eff6ff;color:#3b82f6}.entry-actions .action-btn.edit:hover{background:#dbeafe}.entry-actions .action-btn.delete{background:#fef2f2;color:#ef4444}.entry-actions .action-btn.delete:hover{background:#fee2e2}.no-data{text-align:center;color:#94a3b8;padding:40px}.approvals-card{min-height:300px}.approvals-list{display:flex;flex-direction:column;gap:12px}.approval-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:10px;border-left:3px solid #F59E0B}.approval-left{flex:1}.approval-info{display:flex;flex-direction:column;gap:4px}.approval-description{font-size:14px;font-weight:500;color:#1a1a2e}.approval-meta{font-size:12px;color:#64748b}.approval-right{display:flex;align-items:center;gap:20px}.approval-amount{font-size:18px;font-weight:700;color:#1a1a2e}.approval-actions{display:flex;gap:8px}.approval-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.approval-btn.approve{background:#ecfdf5;color:#059669}.approval-btn.approve:hover{background:#d1fae5}.approval-btn.reject{background:#fef2f2;color:#dc2626}.approval-btn.reject:hover{background:#fee2e2}.no-approvals{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;color:#10b981}.no-approvals p{color:#64748b;font-size:14px}.reports-card{min-height:300px}.reports-content{padding:20px;text-align:center;color:#64748b}.reports-content ul{list-style:none;padding:0;margin:16px 0 0}.reports-content li{padding:8px 0;border-bottom:1px solid #E2E8F0}.reports-content li:last-child{border-bottom:none}.entry-form{display:flex;flex-direction:column;gap:16px}.entry-form .form-group{display:flex;flex-direction:column;gap:6px}.entry-form .form-group label{font-size:13px;font-weight:500;color:#374151}.entry-form .form-group input,.entry-form .form-group select,.entry-form .form-group textarea{padding:10px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#1a1a2e}.entry-form .form-group input:focus,.entry-form .form-group select:focus,.entry-form .form-group textarea:focus{outline:none;border-color:#3b82f6}.entry-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.entry-form .quantity-section{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0;background:linear-gradient(135deg,#f8fafc,#eef2ff);border-radius:12px;margin:8px 0}.entry-form .quantity-section label{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.entry-form .quantity-input-large{width:180px;padding:16px 20px;font-size:24px;font-weight:600;text-align:center;border:2px solid #CBD5E1;border-radius:12px;background:#fff;transition:all .2s}.entry-form .quantity-input-large:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}.entry-form .quantity-input-large:hover:not(:focus){border-color:#94a3b8}.entry-form .quantity-section .form-hint{margin-top:8px;font-size:12px}.entry-form .calculated-amount-section{margin-bottom:8px}.entry-form .input-with-prefix{display:flex;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden}.entry-form .input-prefix{padding:10px 12px;background:#f8fafc;color:#64748b;border-right:1px solid #E2E8F0}.entry-form .input-with-prefix input{border:none;flex:1}.entry-form .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.entry-form .checkbox-group input[type=checkbox]{width:16px;height:16px}.entry-form .form-hint{font-size:11px;color:#94a3b8;margin-top:4px}.entry-form .calculated-amount{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px}.entry-form .calculated-amount .amount-value{font-size:24px;font-weight:700;color:#16a34a;font-family:SF Mono,Monaco,monospace}.entry-form .calculated-amount .amount-breakdown{font-size:12px;color:#64748b}.entry-form .form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #E2E8F0}.confirm-modal{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:20px}.confirm-modal p{color:#64748b;font-size:14px}.reject-modal{display:flex;flex-direction:column;gap:16px}.reject-modal p{color:#64748b;font-size:14px}.reject-modal textarea{padding:12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;resize:vertical}.reject-modal textarea:focus{outline:none;border-color:#3b82f6}.audit-log-modal{max-height:400px;overflow-y:auto}.audit-log-list{display:flex;flex-direction:column;gap:12px}.audit-log-item{padding:12px;background:#f8fafc;border-radius:8px}.log-action{display:flex;align-items:center;gap:12px;margin-bottom:8px}.log-date{font-size:12px;color:#64748b}.log-reason,.log-fields{font-size:13px;color:#64748b;margin:0}.no-logs{text-align:center;color:#94a3b8;padding:40px}@media(max-width:1024px){.summary-stats{flex-wrap:wrap}.summary-stat{flex:1;min-width:150px}.actions-bar{flex-direction:column;align-items:stretch}.search-box{width:100%}.actions-right{justify-content:flex-end;flex-wrap:wrap}.filters-grid{flex-direction:column}.filters-grid .filter-group{width:100%}.entry-form .form-row{grid-template-columns:1fr}}@media(max-width:768px){.management-tabs{overflow-x:auto}.approval-item{flex-direction:column;align-items:flex-start;gap:16px}.approval-right{width:100%;justify-content:space-between}.entries-table{font-size:12px}.entries-table th,.entries-table td{padding:10px 8px}}.webhook-settings{padding:24px}.webhook-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-left h2{margin:0 0 8px;font-size:24px;font-weight:600;color:#1e293b}.header-left p{margin:0;color:#64748b;font-size:14px}.header-actions{display:flex;gap:12px}.test-result{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.test-result.success{background-color:#ecfdf5;color:#065f46;border:1px solid #A7F3D0}.test-result.error{background-color:#fef2f2;color:#991b1b;border:1px solid #FECACA}.test-result button{margin-left:auto;background:none;border:none;cursor:pointer;font-size:18px;opacity:.7}.test-result button:hover{opacity:1}.webhook-list{display:flex;flex-direction:column;gap:16px}.webhook-card{padding:20px}.webhook-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.webhook-info{flex:1}.webhook-name{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.webhook-url{font-size:13px;color:#64748b;word-break:break-all;font-family:monospace;background-color:#f8fafc;padding:4px 8px;border-radius:4px;margin-top:8px}.webhook-actions{display:flex;gap:8px}.webhook-actions .action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #E2E8F0;background:#fff;cursor:pointer;color:#64748b;transition:all .2s}.webhook-actions .action-btn:hover{background-color:#f8fafc}.webhook-actions .action-btn.active{color:#10b981}.webhook-actions .action-btn.test:hover{color:#3b82f6;border-color:#3b82f6}.webhook-actions .action-btn.edit:hover{color:#f59e0b;border-color:#f59e0b}.webhook-actions .action-btn.delete:hover{color:#ef4444;border-color:#ef4444}.webhook-actions .action-btn:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}.webhook-details{display:flex;flex-direction:column;gap:12px}.webhook-events{display:flex;align-items:flex-start;gap:8px}.webhook-events .label{font-size:12px;color:#64748b;min-width:50px}.event-badges{display:flex;flex-wrap:wrap;gap:6px}.webhook-stats{display:flex;gap:16px;font-size:12px}.webhook-stats .stat{display:flex;align-items:center;gap:4px;color:#64748b}.webhook-stats .stat.error{color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;color:#64748b}.empty-state h3{margin:16px 0 8px;color:#1e293b}.empty-state p{margin:0 0 24px}.logs-card{padding:20px}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #E2E8F0}.logs-filter select{padding:8px 12px;border:1px solid #E2E8F0;border-radius:6px;font-size:14px;color:#1e293b}.logs-list{display:flex;flex-direction:column;gap:8px;max-height:500px;overflow-y:auto}.log-item{display:flex;gap:12px;padding:12px;border-radius:8px;background-color:#f8fafc}.log-item.success{border-left:3px solid #10B981}.log-item.error{border-left:3px solid #EF4444}.log-status{flex-shrink:0}.log-status .success{color:#10b981}.log-status .error{color:#ef4444}.log-details{flex:1;min-width:0}.log-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.log-webhook{font-weight:500;color:#1e293b}.log-status-code{font-size:12px;font-family:monospace;color:#10b981}.log-status-code.error{color:#ef4444}.log-time{font-size:12px;color:#64748b;margin-top:4px}.log-error{font-size:13px;color:#ef4444;margin-top:4px;font-family:monospace}.no-logs{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#94a3b8}.no-logs p{margin:8px 0 0}.webhook-form{display:flex;flex-direction:column;gap:20px}.webhook-form .form-group{display:flex;flex-direction:column;gap:6px}.webhook-form label{font-size:14px;font-weight:500;color:#374151}.webhook-form input[type=text],.webhook-form input[type=url],.webhook-form input[type=password]{padding:10px 12px;border:1px solid #D1D5DB;border-radius:6px;font-size:14px}.webhook-form input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-with-toggle{display:flex;align-items:center;position:relative}.input-with-toggle input{flex:1;padding-right:40px}.toggle-visibility{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:#64748b;padding:4px}.toggle-visibility:hover{color:#1e293b}.form-hint{font-size:12px;color:#64748b}.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.event-checkbox{display:flex;align-items:flex-start;gap:10px;padding:12px;background-color:#f8fafc;border-radius:8px;border:1px solid #E2E8F0;cursor:pointer;transition:all .2s}.event-checkbox:hover{border-color:#3b82f6}.event-checkbox input{margin-top:2px}.event-checkbox input:checked+.event-info{color:#1e293b}.event-info{display:flex;flex-direction:column;gap:2px}.event-label{font-size:14px;font-weight:500;color:#1e293b}.event-description{font-size:12px;color:#64748b}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #E2E8F0}.confirm-modal{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px}.confirm-modal p{margin:16px 0 24px;color:#64748b}.confirm-actions{display:flex;gap:12px}@media(max-width:768px){.webhook-header{flex-direction:column;gap:16px}.header-actions{width:100%}.header-actions button{flex:1}.webhook-card-header{flex-direction:column;gap:12px}.webhook-actions{width:100%;justify-content:flex-end}.events-grid{grid-template-columns:1fr}}.claude-settings-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.claude-settings-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0003}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.settings-title{display:flex;align-items:center;gap:10px}.settings-title h2{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.settings-title svg{color:#667eea}.close-btn{background:transparent;border:none;padding:8px;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s}.close-btn:hover{background:#f1f5f9;color:#1a1a2e}.settings-body{flex:1;overflow-y:auto;padding:24px}.settings-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.settings-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-section h3{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0}.connection-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.connection-badge.connected{background:#dcfce7;color:#16a34a}.connection-badge.connecting{background:#dbeafe;color:#2563eb}.connection-badge.error{background:#fee2e2;color:#dc2626}.connection-badge.disconnected{background:#f1f5f9;color:#64748b}.status-icon.connected{color:#16a34a}.status-icon.connecting{color:#2563eb;animation:spin 1s linear infinite}.status-icon.error{color:#dc2626}.status-icon.disconnected{color:#64748b}.connection-error{display:flex;align-items:center;gap:8px;padding:12px;background:#fef2f2;border-radius:8px;color:#dc2626;font-size:13px;margin-top:12px}.last-connected{font-size:12px;color:#64748b;margin:12px 0 0}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#475569;margin-bottom:8px}.form-group label svg{color:#94a3b8}.form-group input[type=text],.form-group input[type=password],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.form-group textarea{resize:vertical;min-height:80px}.form-group .hint{display:block;font-size:12px;color:#94a3b8;margin-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#e2e8f0;appearance:none;cursor:pointer}.form-group input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:2px solid white;box-shadow:0 2px 6px #00000026}.range-labels{display:flex;justify-content:space-between;margin-top:6px}.range-labels span{font-size:11px;color:#94a3b8}.add-session-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#475569;cursor:pointer;transition:all .2s}.add-session-btn:hover{background:#f8fafc;border-color:#667eea;color:#667eea}.saved-sessions{margin-top:16px}.saved-sessions>label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:8px}.sessions-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.session-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;border:2px solid transparent;transition:all .2s}.session-item.selected{border-color:#667eea;background:#f0f4ff}.session-info{flex:1;display:flex;flex-direction:column;gap:2px;cursor:pointer}.session-name{font-size:14px;font-weight:500;color:#1a1a2e}.session-dir{font-size:12px;color:#64748b;font-family:monospace}.session-date{font-size:11px;color:#94a3b8}.remove-session-btn{background:transparent;border:none;padding:6px;border-radius:6px;color:#94a3b8;cursor:pointer;transition:all .2s}.remove-session-btn:hover{background:#fee2e2;color:#dc2626}.add-session-form{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px}.add-session-form input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.add-session-form input:focus{outline:none;border-color:#667eea}.add-session-actions{display:flex;gap:8px;margin-top:4px}.add-session-actions button{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.add-session-actions button:first-child{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.add-session-actions button:first-child:disabled{opacity:.5;cursor:not-allowed}.add-session-actions button:last-child{background:#fff;border:1px solid #e2e8f0;color:#64748b}.settings-section.collapsible{padding-bottom:16px}.section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:transparent;border:none;cursor:pointer;color:#64748b}.section-toggle h3{margin:0;color:#64748b;font-size:13px}.section-toggle:hover,.section-toggle:hover h3{color:#1a1a2e}.advanced-content{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.setup-info{display:flex;gap:14px;padding:16px;background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border-radius:10px;border:1px solid #dbeafe}.setup-info>svg{color:#667eea;flex-shrink:0;margin-top:2px}.setup-info p{margin:0;font-size:14px;color:#1a1a2e}.setup-info p strong{color:#667eea}.setup-hint{margin-top:8px!important;font-size:13px!important;color:#64748b!important}.env-var{display:block;margin:10px 0;padding:10px 14px;background:#1a1a2e;color:#a5f3fc;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;overflow-x:auto}.api-link{display:inline-flex;align-items:center;gap:4px;color:#667eea;text-decoration:none;font-size:13px;font-weight:500;transition:color .2s}.api-link:hover{color:#764ba2;text-decoration:underline}.settings-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.footer-left{display:flex;gap:8px}.footer-right{display:flex;align-items:center;gap:12px}.delete-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background:transparent;border:1px solid #fecaca;color:#dc2626}.delete-btn:hover{background:#fee2e2;border-color:#dc2626}.save-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.save-btn:disabled{opacity:.5;cursor:not-allowed}.connection-actions{display:flex;gap:8px}.connect-btn,.disconnect-btn,.test-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.connect-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.connect-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.connect-btn:disabled{opacity:.5;cursor:not-allowed}.disconnect-btn{background:#fee2e2;border:none;color:#dc2626}.disconnect-btn:hover{background:#fecaca}.test-btn{background:#fff;border:1px solid #e2e8f0;color:#475569}.test-btn:hover:not(:disabled){background:#f8fafc;border-color:#667eea;color:#667eea}.test-btn:disabled{opacity:.5;cursor:not-allowed}.done-btn{padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.done-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}@media(max-width:640px){.claude-settings-modal{max-height:95vh}.settings-footer{flex-direction:column;gap:12px}.connection-actions{width:100%;justify-content:center}.done-btn{width:100%}.form-row{grid-template-columns:1fr}}.claude-code-tool{max-width:900px;margin:0 auto}.tool-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.header-left{display:flex;align-items:flex-start;gap:16px}.header-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0}.header-info h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.header-info p{font-size:14px;color:#64748b;margin:0}.header-actions{display:flex;align-items:center;gap:12px}.connection-status{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:500}.connection-status.connected{background:#dcfce7;color:#16a34a}.connection-status.connecting{background:#dbeafe;color:#2563eb}.connection-status.error{background:#fee2e2;color:#dc2626}.connection-status.disconnected{background:#f1f5f9;color:#64748b}.settings-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.settings-btn:hover{background:#f8fafc;border-color:#667eea;color:#667eea}.instance-selector{position:relative}.instance-selector-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s;min-width:180px}.instance-selector-btn:hover{background:#f8fafc;border-color:#667eea}.instance-selector-btn svg:first-child{color:#667eea}.instance-selector-btn svg:last-child{margin-left:auto;color:#94a3b8;transition:transform .2s}.instance-selector-btn svg.rotated{transform:rotate(180deg)}.instance-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:280px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 10px 40px #00000026;z-index:100;overflow:hidden}.instance-empty{padding:24px;text-align:center;color:#94a3b8;font-size:14px}.instance-list{max-height:300px;overflow-y:auto;padding:8px}.instance-item{display:flex;align-items:center;gap:8px;padding:4px;border-radius:8px;transition:all .2s}.instance-item:hover{background:#f8fafc}.instance-item.active{background:#f0f4ff}.instance-select-btn{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:transparent;border:none;cursor:pointer;text-align:left}.instance-info{display:flex;flex-direction:column;gap:2px}.instance-name{font-size:14px;font-weight:500;color:#1a1a2e}.instance-desc{font-size:12px;color:#64748b}.instance-status{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.instance-status.connected{background:#dcfce7;color:#16a34a}.instance-status.disconnected{background:#f1f5f9;color:#94a3b8}.instance-status.error{background:#fee2e2;color:#dc2626}.instance-edit-btn{padding:8px;background:transparent;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;transition:all .2s}.instance-edit-btn:hover{background:#e2e8f0;color:#475569}.add-instance-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:#f8fafc;border:none;border-top:1px solid #e2e8f0;font-size:14px;font-weight:500;color:#667eea;cursor:pointer;transition:all .2s}.add-instance-btn:hover{background:#f0f4ff}.setup-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;margin-bottom:24px}.setup-banner>svg{color:#d97706;flex-shrink:0}.setup-content{flex:1}.setup-content strong{display:block;font-size:14px;color:#92400e;margin-bottom:2px}.setup-content p{font-size:13px;color:#a16207;margin:0}.setup-banner button{padding:8px 16px;background:#d97706;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.setup-banner button:hover{background:#b45309}.session-info-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0f4ff;border-radius:8px;margin-bottom:24px;font-size:13px}.session-label{font-weight:600;color:#667eea}.session-id{font-family:monospace;color:#475569;background:#fff;padding:2px 8px;border-radius:4px}.session-separator{color:#cbd5e1}.working-dir{font-family:monospace;color:#64748b;font-size:12px}.tool-content{display:flex;flex-direction:column;gap:32px}.prompt-section{position:sticky;top:0;z-index:10;padding-top:4px}.prompt-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.prompt-input-wrapper{display:flex;gap:12px;align-items:flex-end}.prompt-input-wrapper textarea{flex:1;min-height:80px;max-height:200px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:12px;font-size:15px;font-family:inherit;line-height:1.6;resize:none;transition:border-color .2s,box-shadow .2s}.prompt-input-wrapper textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.prompt-input-wrapper textarea:disabled{background:#f8fafc;cursor:not-allowed}.submit-btn{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn .spinner,.spinner{animation:spin 1s linear infinite}.prompt-hints{display:flex;gap:20px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.prompt-hints span{font-size:12px;color:#94a3b8}.prompt-hints kbd{display:inline-block;padding:2px 6px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;font-family:inherit;font-size:11px;color:#475569}.history-section{background:#fff;border-radius:16px;padding:24px;border:1px solid #e2e8f0}.history-section h2{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 20px}.empty-history{text-align:center;padding:48px 20px;color:#94a3b8}.empty-history svg{margin-bottom:12px;opacity:.5}.empty-history p{margin:0;font-size:14px}.history-list{display:flex;flex-direction:column;gap:16px}.history-item{background:#f8fafc;border-radius:12px;padding:16px;border-left:4px solid #94a3b8;transition:all .2s}.history-item.status-pending{border-left-color:#f59e0b}.history-item.status-processing{border-left-color:#3b82f6}.history-item.status-completed{border-left-color:#10b981}.history-item.status-error{border-left-color:#ef4444}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.history-status{display:flex;align-items:center;gap:6px}.status-icon.pending{color:#f59e0b}.status-icon.processing{color:#3b82f6;animation:spin 1s linear infinite}.history-date{font-size:12px;color:#94a3b8}.history-prompt{margin-bottom:12px}.history-prompt strong,.history-response strong,.history-error strong{display:block;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.history-prompt p{margin:0;font-size:14px;color:#1a1a2e;line-height:1.6;white-space:pre-wrap}.history-response{background:#fff;border-radius:8px;padding:12px;border:1px solid #e2e8f0}.history-response pre{margin:0;font-size:13px;color:#1a1a2e;line-height:1.6;white-space:pre-wrap;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.history-error{background:#fef2f2;border-radius:8px;padding:12px;border:1px solid #fee2e2}.history-error p{margin:0;font-size:13px;color:#dc2626}@media(max-width:768px){.tool-header{flex-direction:column;align-items:stretch}.header-left{flex-direction:column;align-items:center;text-align:center}.header-actions{justify-content:center;flex-wrap:wrap}.setup-banner{flex-direction:column;text-align:center}.session-info-bar{flex-wrap:wrap;justify-content:center}}@media(max-width:640px){.prompt-input-wrapper{flex-direction:column}.submit-btn{width:100%;height:48px}.prompt-hints{flex-direction:column;gap:8px}}.web-scraper-tool{max-width:1000px;margin:0 auto}.web-scraper-tool .tool-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.web-scraper-tool .header-left{display:flex;align-items:flex-start;gap:16px}.web-scraper-tool .header-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);color:#fff;flex-shrink:0}.web-scraper-tool .header-info h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.web-scraper-tool .header-info p{font-size:14px;color:#64748b;margin:0}.tool-content{display:flex;flex-direction:column;gap:24px}.mode-selector{display:flex;gap:8px;padding:4px;background:#f1f5f9;border-radius:10px;width:fit-content;flex-wrap:wrap}.mode-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.mode-btn:hover{color:#1a1a2e}.mode-btn.active{background:#fff;color:#10b981;box-shadow:0 2px 8px #00000014}.scrape-section{position:relative;z-index:10}.scrape-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.scrape-input-wrapper{display:flex;gap:12px;align-items:stretch}.url-input-container{flex:1;position:relative;display:flex;align-items:center}.url-icon{position:absolute;left:14px;color:#94a3b8}.url-input-container input{width:100%;padding:14px 14px 14px 44px;border:1px solid #e2e8f0;border-radius:12px;font-size:15px;transition:border-color .2s,box-shadow .2s}.url-input-container input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b98126}.url-input-container input:disabled{background:#f8fafc;cursor:not-allowed}.scrape-btn{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.scrape-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #10b98166}.scrape-btn:disabled{opacity:.5;cursor:not-allowed}.options-toggle{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;background:transparent;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s}.options-toggle:hover{background:#f8fafc;border-color:#10b981;color:#10b981}.scrape-options{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.option-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;cursor:pointer}.option-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#10b981}.option-checkbox svg{color:#94a3b8}.option-input{flex:1;min-width:200px}.option-input label{display:block;font-size:12px;font-weight:500;color:#64748b;margin-bottom:4px}.option-input input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.option-input input:focus{outline:none;border-color:#10b981}.results-section{background:#fff;border-radius:16px;padding:24px;border:1px solid #e2e8f0}.results-section h2{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 20px}.empty-results{text-align:center;padding:48px 20px;color:#94a3b8}.empty-results svg{margin-bottom:12px;opacity:.5}.empty-results p{margin:0;font-size:14px}.results-list{display:flex;flex-direction:column;gap:16px}.result-card{background:#f8fafc;border-radius:12px;border-left:4px solid #94a3b8;overflow:hidden;transition:all .2s}.result-card.status-scraping{border-left-color:#3b82f6}.result-card.status-completed{border-left-color:#10b981}.result-card.status-error{border-left-color:#ef4444}.result-header{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;transition:background .2s}.result-header:hover{background:#f1f5f9}.result-status{display:flex;align-items:center;gap:6px}.status-icon.scraping{color:#3b82f6;animation:spin 1s linear infinite}.status-icon.completed{color:#10b981}.status-icon.error{color:#ef4444}.status-text{font-size:13px;font-weight:500;text-transform:capitalize;color:#475569}.result-url{flex:1;min-width:0}.result-url a{display:inline-flex;align-items:center;gap:4px;color:#667eea;text-decoration:none;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-url a:hover{text-decoration:underline}.result-date{font-size:12px;color:#94a3b8;flex-shrink:0}.result-body{padding:0 16px 16px}.scraping-indicator{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;color:#3b82f6}.scraping-indicator p{margin:0;font-size:14px}.result-error{display:flex;align-items:center;gap:8px;padding:12px;background:#fef2f2;border-radius:8px;color:#dc2626;font-size:13px}.result-title h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 4px}.result-description{font-size:13px;color:#64748b;margin:0 0 16px}.result-tabs{display:flex;gap:4px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.result-tabs button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s}.result-tabs button:hover{background:#f1f5f9;color:#1a1a2e}.result-tabs button.active{background:#dcfce7;color:#059669}.result-content{background:#fff;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.content-section .content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.content-header span{font-size:12px;color:#94a3b8}.copy-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#f1f5f9;border:none;border-radius:6px;font-size:12px;color:#475569;cursor:pointer;transition:all .2s}.copy-btn:hover{background:#e2e8f0}.content-text{margin:0;font-size:13px;line-height:1.6;color:#1a1a2e;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto;font-family:inherit}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.image-item{aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f1f5f9}.image-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.image-item:hover img{transform:scale(1.05)}.links-section{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.link-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8fafc;border-radius:6px;text-decoration:none;transition:all .2s}.link-item:hover{background:#f0f4ff}.link-text{flex:1;font-size:13px;color:#667eea;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-item svg{color:#94a3b8;flex-shrink:0}.metadata-section table{width:100%;border-collapse:collapse}.metadata-section tr{border-bottom:1px solid #e2e8f0}.metadata-section tr:last-child{border-bottom:none}.meta-key{padding:10px 12px 10px 0;font-size:12px;font-weight:500;color:#64748b;white-space:nowrap;vertical-align:top;width:140px}.meta-value{padding:10px 0;font-size:13px;color:#1a1a2e;word-break:break-word}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.card-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.card-description{font-size:13px;color:#64748b;margin:0 0 16px}.bulk-textarea{width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;font-family:Monaco,Consolas,monospace;line-height:1.6;resize:vertical;transition:all .2s}.bulk-textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.bulk-textarea:disabled{background:#f8fafc;color:#94a3b8}.bulk-info{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-size:13px;color:#64748b}.bulk-progress{color:#10b981;font-weight:500}.bulk-progress .failed-count{color:#ef4444}.scrape-btn.full-width{width:100%;height:48px;border-radius:10px;font-size:15px;gap:8px}.scheduled-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.create-job-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.create-job-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.job-form{background:#f8fafc;border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid #e2e8f0}.form-row{margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-row label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.form-row input[type=text],.form-row input[type=number]{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s}.form-row input:focus{outline:none;border-color:#10b981}.form-row textarea{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:Monaco,Consolas,monospace;resize:vertical;transition:all .2s}.form-row textarea:focus{outline:none;border-color:#10b981}.schedule-options{display:flex;gap:12px;align-items:center}.schedule-options select{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.schedule-options select:focus{outline:none;border-color:#10b981}.custom-interval{display:flex;align-items:center;gap:8px}.custom-interval input{width:80px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.custom-interval span{font-size:13px;color:#64748b}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.cancel-btn{padding:10px 20px;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#f1f5f9}.save-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.save-btn:disabled{opacity:.6;cursor:not-allowed}.jobs-list{display:flex;flex-direction:column;gap:12px}.no-jobs{text-align:center;padding:40px 20px;color:#94a3b8}.no-jobs svg{margin-bottom:12px;opacity:.5}.no-jobs p{margin:0;font-size:14px}.job-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s}.job-item.active{border-left:3px solid #10b981}.job-item.paused{border-left:3px solid #94a3b8;opacity:.7}.job-info{flex:1}.job-name{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.job-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.job-actions{display:flex;gap:8px}.job-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e2e8f0;border-radius:6px;background:transparent;cursor:pointer;transition:all .2s}.job-action-btn.run{color:#10b981}.job-action-btn.run:hover:not(:disabled){background:#ecfdf5;border-color:#10b981}.job-action-btn.pause{color:#f59e0b}.job-action-btn.pause:hover{background:#fffbeb;border-color:#f59e0b}.job-action-btn.play{color:#10b981}.job-action-btn.play:hover{background:#ecfdf5;border-color:#10b981}.job-action-btn.delete{color:#ef4444}.job-action-btn.delete:hover{background:#fef2f2;border-color:#ef4444}.job-action-btn:disabled{opacity:.5;cursor:not-allowed}.preview-hint{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:#f0fdf4;border-radius:8px;font-size:13px;color:#059669}.preview-panel{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 4px 20px #00000014}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.preview-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1a1a2e}.preview-title svg{color:#10b981}.preview-actions{display:flex;align-items:center;gap:12px}.select-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;background:#f1f5f9;padding:6px 10px;border-radius:6px}.select-hint svg{color:#10b981}.close-preview-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.close-preview-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.preview-content{display:flex;height:auto;min-height:500px}.preview-instructions{flex:1;display:flex;flex-direction:column;border-right:1px solid #e2e8f0;overflow:hidden}.instruction-card{padding:20px;background:#f0fdf4;border-bottom:1px solid #e2e8f0}.instruction-card h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#059669;margin:0 0 16px}.instruction-card ol{margin:0;padding-left:20px}.instruction-card li{margin-bottom:12px;font-size:13px;color:#1a1a2e}.instruction-card li:last-child{margin-bottom:0}.open-page-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.open-page-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.copy-script-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.copy-script-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.instruction-note{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;background:#fff;border-radius:6px;font-size:12px;color:#64748b}.instruction-note svg{color:#10b981;flex-shrink:0}.iframe-section{flex:1;display:flex;flex-direction:column;min-height:300px}.iframe-header{padding:8px 16px;background:#f1f5f9;font-size:12px;color:#64748b;border-bottom:1px solid #e2e8f0}.preview-iframe-container{flex:1;overflow:hidden;background:#f8fafc}.preview-iframe-container iframe{width:100%;height:100%;min-height:300px;border:none}.manual-selector{padding:16px;background:#fff;border-bottom:1px solid #e2e8f0}.manual-selector h4{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.manual-selector p{font-size:12px;color:#94a3b8;margin:0 0 10px}.manual-input-row{display:flex;gap:8px}.manual-input-row input{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.manual-input-row input:focus{outline:none;border-color:#10b981}.manual-input-row button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.manual-input-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.manual-input-row button:disabled{opacity:.5;cursor:not-allowed}.helper-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.helper-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.helper-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.helper-modal-header h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1a1a2e;margin:0}.helper-modal-header button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.helper-modal-header button:hover{background:#fee2e2;color:#dc2626}.helper-modal-body{padding:20px;overflow-y:auto;max-height:calc(80vh - 60px)}.helper-modal-body p{font-size:14px;color:#475569;margin:0 0 16px}.helper-modal-body ol{margin:0 0 16px;padding-left:20px}.helper-modal-body li{font-size:14px;color:#1a1a2e;margin-bottom:8px}.script-box{position:relative;background:#1a1a2e;border-radius:8px;padding:16px;margin-bottom:16px}.script-box pre{margin:0;font-size:11px;color:#e2e8f0;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:150px;overflow-y:auto}.script-box .copy-script-btn{position:absolute;top:8px;right:8px;padding:6px 12px;font-size:12px}.helper-tip{font-size:13px;color:#64748b;font-style:italic}.selection-panel{width:320px;display:flex;flex-direction:column;background:#fafafa}.selected-element{padding:16px;border-bottom:1px solid #e2e8f0;background:#fff}.selected-element h4{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.element-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.element-tag{display:inline-block;padding:4px 8px;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-family:monospace;font-size:12px;width:fit-content}.element-selector{padding:8px;background:#f1f5f9;border-radius:6px}.element-selector code{font-size:12px;color:#334155;word-break:break-all}.element-preview{font-size:13px;color:#64748b;line-height:1.5;max-height:60px;overflow:hidden;text-overflow:ellipsis}.add-field-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.add-field-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.data-fields{flex:1;padding:16px;overflow-y:auto}.data-fields h4{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.no-fields{text-align:center;padding:24px 16px;color:#94a3b8}.no-fields p{margin:0;font-size:13px}.fields-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.field-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;position:relative}.field-item input{padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500}.field-item input:focus{outline:none;border-color:#10b981}.field-selector{font-size:11px;color:#64748b;background:#f1f5f9;padding:4px 8px;border-radius:4px;word-break:break-all}.field-preview{font-size:12px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-field-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;transition:all .2s}.remove-field-btn:hover{background:#fee2e2;color:#dc2626}.extract-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.extract-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #667eea66}.extract-btn:disabled{opacity:.6;cursor:not-allowed}.extracted-section .content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.extracted-fields{display:flex;flex-direction:column;gap:12px}.extracted-field{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f8fafc;border-radius:8px;border-left:3px solid #10b981}.extracted-field .field-name{font-size:12px;font-weight:600;color:#10b981;text-transform:uppercase;letter-spacing:.5px}.extracted-field .field-value{font-size:14px;color:#1a1a2e;line-height:1.5;word-break:break-word}@media(max-width:1024px){.preview-content{flex-direction:column;height:auto}.preview-iframe-container{height:400px;border-right:none;border-bottom:1px solid #e2e8f0}.selection-panel{width:100%;max-height:400px}}@media(max-width:768px){.web-scraper-tool .tool-header{flex-direction:column}.web-scraper-tool .header-left{flex-direction:column;align-items:center;text-align:center}.scrape-options{flex-direction:column}.result-header{flex-wrap:wrap}.result-url{order:3;width:100%;margin-top:8px}.result-tabs{flex-wrap:wrap}.images-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.preview-header{flex-direction:column;gap:12px}.preview-actions{width:100%;justify-content:space-between}.preview-iframe-container{height:300px}.mode-selector{width:100%}.mode-btn{flex:1;justify-content:center}}@media(max-width:640px){.scrape-input-wrapper{flex-direction:column}.scrape-btn{width:100%;height:48px}}.projects-list{display:flex;flex-direction:column;gap:12px}.project-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:#fff;border-radius:12px;border:2px solid #e2e8f0;cursor:pointer;transition:all .2s}.project-item:hover{border-color:#10b981;background:#f8fafc}.project-item.selected{border-color:#10b981;background:#f0fdf4;box-shadow:0 0 0 3px #10b9811a}.project-info{flex:1}.project-name{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.project-description{font-size:13px;color:#64748b;margin-bottom:8px}.project-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8;margin-bottom:8px}.project-fields-preview{font-size:12px;color:#64748b;background:#f1f5f9;padding:6px 10px;border-radius:6px;display:inline-block}.project-actions{display:flex;gap:8px;flex-shrink:0}.project-form .form-row label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:8px}.project-fields-section{display:flex;flex-direction:column;gap:12px}.add-field-row{display:flex;gap:8px}.add-field-row input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.add-field-row input:focus{outline:none;border-color:#10b981}.add-field-row button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.add-field-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.add-field-row button:disabled{opacity:.5;cursor:not-allowed}.project-fields-list{display:flex;flex-direction:column;gap:8px}.project-field-item{display:flex;gap:8px;align-items:center;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.project-field-item .field-name-input{width:120px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500}.project-field-item .field-selector-input{flex:1;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-family:Monaco,Consolas,monospace}.project-field-item input:focus{outline:none;border-color:#10b981}.project-field-item .remove-field-btn{position:static;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e2e8f0;border-radius:6px;color:#94a3b8;cursor:pointer;transition:all .2s}.project-field-item .remove-field-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.no-fields-hint{font-size:13px;color:#94a3b8;text-align:center;padding:16px;margin:0}.sample-url-row{display:flex;gap:8px}.sample-url-row input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.sample-url-row input:focus{outline:none;border-color:#10b981}.visual-select-btn,.auto-detect-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.visual-select-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.visual-select-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.auto-detect-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:transparent;color:#fff}.auto-detect-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.visual-select-btn:disabled,.auto-detect-btn:disabled{opacity:.5;cursor:not-allowed}.sample-url-scraper-mode{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.sample-url-scraper-mode .mode-label{font-size:12px;font-weight:500;color:#64748b;white-space:nowrap}.sample-url-scraper-mode .mode-buttons{display:flex;gap:4px;flex-wrap:wrap}.sample-url-scraper-mode .mode-btn{padding:4px 10px;font-size:11px;font-weight:500;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#64748b;cursor:pointer;transition:all .15s}.sample-url-scraper-mode .mode-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.sample-url-scraper-mode .mode-btn.active{background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;color:#fff}.vision-toggle{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;font-size:11px;font-weight:500;color:#92400e;cursor:pointer;transition:all .15s}.vision-toggle:hover{background:#fde68a}.vision-toggle input{margin:0;cursor:pointer}.vision-toggle input:disabled{opacity:.5;cursor:not-allowed}.vision-toggle input:disabled+svg,.vision-toggle input:disabled~span{opacity:.5}.vision-toggle .vision-hint{margin-left:auto;font-weight:400;color:#b45309;font-size:10px}.screenshot-upload-row{display:flex;align-items:center;gap:10px;margin-top:8px}.screenshot-upload-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px dashed #cbd5e1;border-radius:6px;font-size:11px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s}.screenshot-upload-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#475569}.uploaded-screenshot-info{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;font-size:11px;color:#059669}.uploaded-screenshot-info span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-screenshot-btn{display:flex;align-items:center;justify-content:center;padding:2px;background:transparent;border:none;border-radius:3px;color:#059669;cursor:pointer;transition:all .15s}.clear-screenshot-btn:hover{background:#d1fae5;color:#047857}.visual-selector-hint{display:flex;align-items:center;gap:8px;margin-top:10px;padding:12px;background:#f0fdf4;border-radius:8px;font-size:12px;color:#059669}.visual-selector-hint svg{flex-shrink:0}.visual-selector-hint span{flex:1}.copy-script-btn.small{padding:6px 10px;font-size:11px}.detected-fields-section{background:#fffbeb;border-radius:10px;padding:16px;border:1px solid #fcd34d}.detected-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.detected-header label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#b45309}.detected-header label svg{color:#f59e0b}.add-all-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#f59e0b;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.add-all-btn:hover{background:#d97706}.detected-fields-list{display:flex;flex-direction:column;gap:8px}.detected-field-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:8px;border-left:3px solid #fcd34d}.detected-field-item.confidence-high{border-left-color:#10b981}.detected-field-item.confidence-medium{border-left-color:#f59e0b}.detected-field-item.confidence-low{border-left-color:#94a3b8}.detected-field-info{display:flex;align-items:center;gap:8px;min-width:120px}.detected-field-name{font-size:13px;font-weight:500;color:#1a1a2e}.confidence-badge{font-size:10px;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.confidence-badge.high{background:#dcfce7;color:#059669}.confidence-badge.medium{background:#fef3c7;color:#b45309}.confidence-badge.low{background:#f1f5f9;color:#64748b}.detected-field-selector{flex:1;font-size:11px;color:#64748b;background:#f8fafc;padding:4px 8px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-detected-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.add-detected-btn:hover{background:#059669;transform:scale(1.05)}.project-urls{font-family:Monaco,Consolas,monospace}.urls-count{text-align:right;font-size:12px;color:#64748b;margin-top:6px}.project-bulk-scrape{margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.project-bulk-scrape h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 16px}.project-bulk-scrape h4 svg{color:#10b981}.project-bulk-scrape .bulk-textarea{margin-bottom:0}@media(max-width:768px){.project-field-item{flex-wrap:wrap}.project-field-item .field-name-input{width:100%;order:1}.project-field-item .field-selector-input{width:calc(100% - 40px);order:2}.project-field-item .remove-field-btn{order:2}.project-item{flex-direction:column;gap:12px}.project-actions{width:100%;justify-content:flex-end}.sample-url-row{flex-wrap:wrap}.sample-url-row input{width:100%}.visual-select-btn,.auto-detect-btn{flex:1;justify-content:center}.detected-field-item{flex-wrap:wrap}.detected-field-info{width:100%}.detected-field-selector{width:calc(100% - 38px)}.visual-selector-hint{flex-wrap:wrap}.visual-selector-hint span{width:100%;margin-bottom:8px}}.browser-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.browser-header{margin-bottom:20px}.browser-header .card-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.browser-header .card-description{font-size:14px;color:#64748b;margin:0}.browser-scrape-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important}.browser-scrape-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)!important}.browser-settings{display:flex;flex-direction:column;gap:16px;margin-top:20px}.settings-group{background:#fff;border-radius:12px;padding:16px;border:1px solid #e2e8f0}.settings-group h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 12px}.settings-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.settings-group-header h4{margin:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:12px}.settings-grid .option-checkbox{flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.settings-grid .option-checkbox input{position:absolute;opacity:0}.settings-grid .option-checkbox span:first-of-type{font-weight:500;color:#1a1a2e}.settings-grid .option-checkbox .option-hint{font-size:11px;color:#94a3b8;font-weight:400}.settings-grid .option-checkbox:has(input:checked){background:#f0fdf4;border-color:#10b981}.settings-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.settings-row:last-child{margin-bottom:0}.settings-row label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#64748b;min-width:120px}.settings-row select,.settings-row input[type=text],.settings-row input[type=password],.settings-row input[type=number]{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#1a1a2e;background:#fff;transition:all .2s}.settings-row select:focus,.settings-row input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.settings-row .small-input{max-width:80px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:#8b5cf6}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.proxy-settings{margin-top:12px}.proxy-type-tabs{display:flex;gap:4px;padding:4px;background:#f1f5f9;border-radius:8px;margin-bottom:16px}.proxy-type-tabs button{flex:1;padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.proxy-type-tabs button:hover{color:#1a1a2e}.proxy-type-tabs button.active{background:#fff;color:#8b5cf6;box-shadow:0 2px 4px #0000000d}.proxy-manual input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:Monaco,Menlo,monospace}.proxy-provider{display:flex;flex-direction:column;gap:12px}.proxy-list-section textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:Monaco,Menlo,monospace;resize:vertical;margin-bottom:12px}.proxy-count{font-size:12px;color:#64748b;text-align:right}.advanced-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.advanced-toggle:hover{background:#f1f5f9;color:#1a1a2e}.advanced-settings{margin-top:16px}.resource-toggles{display:flex;flex-wrap:wrap;gap:8px}.resource-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#64748b;cursor:pointer;transition:all .2s}.resource-toggle:has(input:checked){background:#fef2f2;border-color:#ef4444;color:#dc2626}.resource-toggle input{display:none}.browser-result-info{margin-top:20px;padding:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px}.browser-result-info h4{font-size:14px;font-weight:600;color:#166534;margin:0 0 12px}.result-stats{display:flex;flex-wrap:wrap;gap:16px}.result-stats .stat{display:flex;align-items:center;gap:6px;font-size:13px;color:#166534}.result-stats .proxy-stat{color:#7c3aed}.result-stats .blocked-stat{color:#dc2626}.result-stats .response-time{font-size:11px;color:#94a3b8}.screenshot-preview{margin-top:16px}.screenshot-preview h5{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#166534;margin:0 0 8px}.screenshot-preview img{max-width:100%;border-radius:8px;border:1px solid #e2e8f0}.bulk-urls-section{margin-top:16px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.bulk-header{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.bulk-header h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1a1a2e;margin:0}.bulk-hint{font-size:12px;color:#64748b}.bulk-textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:13px;resize:vertical;background:#fff;transition:border-color .2s}.bulk-textarea:focus{outline:none;border-color:#10b981}.bulk-textarea:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.6}.bulk-count{margin-top:8px;font-size:12px;color:#10b981;font-weight:500}.delay-settings{margin-top:16px;padding:16px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:12px;border:1px solid #bbf7d0}.delay-header{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.delay-header h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#166534;margin:0}.delay-hint{font-size:12px;color:#22c55e}.delay-controls{display:flex;flex-direction:column;gap:12px}.delay-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.delay-row label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#374151}.delay-input-wrapper{display:flex;align-items:center;gap:4px}.delay-input{width:80px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;text-align:right;background:#fff}.delay-input:focus{outline:none;border-color:#10b981}.delay-unit{font-size:13px;color:#64748b;min-width:24px}.delay-presets{display:flex;flex-wrap:wrap;gap:8px}.delay-presets button{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .2s}.delay-presets button:hover{border-color:#10b981;color:#10b981}.delay-presets button.active{background:#10b981;border-color:#10b981;color:#fff}.random-delay{padding:8px 12px;background:#fff;border-radius:8px;border:1px solid #d1d5db}.bulk-progress-bar{margin-top:16px;padding:16px;background:#fef3c7;border-radius:12px;border:1px solid #fcd34d}.bulk-progress-bar .progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;color:#92400e;font-weight:500}.bulk-progress-bar .progress-bar{height:8px;background:#fde68a;border-radius:4px;overflow:hidden}.bulk-progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#d97706);border-radius:4px;transition:width .3s ease}.bulk-progress-bar .progress-failed{display:block;margin-top:8px;font-size:12px;color:#dc2626}@media(max-width:640px){.settings-grid{grid-template-columns:1fr}.settings-row{flex-direction:column;align-items:flex-start}.settings-row label{min-width:unset}.settings-row select,.settings-row input{width:100%}.proxy-type-tabs{flex-direction:column}.result-stats{flex-direction:column;gap:8px}.delay-row{flex-direction:column;align-items:flex-start}.delay-presets{width:100%}}.project-scraper-info{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:8px;border:1px solid #bbf7d0;font-size:13px;color:#166534}.project-scraper-info .scraper-mode-label{font-weight:600}.project-scraper-info .scraper-delay{color:#15803d;font-size:12px}.project-scraper-info .edit-project-link{margin-left:auto;display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;color:#166534;background:#fff;border:1px solid #bbf7d0;border-radius:4px;cursor:pointer;transition:all .15s}.project-scraper-info .edit-project-link:hover{background:#f0fdf4;border-color:#86efac}.project-browser-toggle{margin-top:16px;padding:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid #e2e8f0}.browser-toggle-header{display:flex;flex-direction:column;gap:6px}.toggle-switch-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:600;color:#1a1a2e}.toggle-switch-label input{display:none}.toggle-switch-label .toggle-slider{position:relative;width:44px;height:24px;background:#d1d5db;border-radius:24px;transition:background .2s}.toggle-switch-label .toggle-slider:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #0000001a}.toggle-switch-label input:checked+.toggle-slider{background:#10b981}.toggle-switch-label input:checked+.toggle-slider:after{transform:translate(20px)}.toggle-hint{font-size:12px;color:#64748b;margin-left:54px}.project-delay-settings{margin-top:16px;padding:16px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:10px;border:1px solid #bbf7d0;display:flex;flex-direction:column;gap:12px}.project-delay-settings .delay-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-delay-settings .delay-row label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#166534}.project-delay-settings .delay-presets{display:flex;flex-wrap:wrap;gap:6px}.project-delay-settings .delay-presets button{padding:5px 10px;font-size:11px;font-weight:500;border:1px solid #bbf7d0;border-radius:6px;background:#fff;color:#166534;cursor:pointer;transition:all .2s}.project-delay-settings .delay-presets button:hover{border-color:#10b981;background:#ecfdf5}.project-delay-settings .delay-presets button.active{background:#10b981;border-color:#10b981;color:#fff}.project-delay-settings .random-delay{padding:8px 10px;background:#fff;border-radius:6px;border:1px solid #bbf7d0}.scrape-btn.browser-mode{background:linear-gradient(135deg,#10b981,#059669)}.scrape-btn.browser-mode:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}@media(max-width:640px){.project-delay-settings .delay-row{flex-direction:column;align-items:flex-start}.toggle-hint{margin-left:0}}.project-schedule-toggle{margin-top:16px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fef9c3);border-radius:12px;border:1px solid #fcd34d}.schedule-toggle-header{display:flex;flex-direction:column;gap:6px}.project-schedule-settings{margin-top:16px;padding:16px;background:#fff;border-radius:10px;border:1px solid #fcd34d;display:flex;flex-direction:column;gap:14px}.schedule-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-row label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#92400e}.schedule-select{padding:8px 12px;border:1px solid #fcd34d;border-radius:8px;font-size:14px;background:#fff;color:#1a1a2e;min-width:160px}.schedule-select:focus{outline:none;border-color:#f59e0b}.custom-interval-input{display:flex;align-items:center;gap:6px}.interval-input{width:80px;padding:8px 12px;border:1px solid #fcd34d;border-radius:8px;font-size:14px;text-align:right}.interval-input:focus{outline:none;border-color:#f59e0b}.interval-unit{font-size:13px;color:#92400e}.schedule-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.presets-label{font-size:12px;color:#92400e;font-weight:500}.schedule-presets button{padding:5px 12px;font-size:12px;font-weight:500;border:1px solid #fcd34d;border-radius:6px;background:#fff;color:#92400e;cursor:pointer;transition:all .2s}.schedule-presets button:hover{border-color:#f59e0b;background:#fef9c3}.schedule-presets button.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.schedule-info{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fef9c3;border-radius:8px;font-size:13px;color:#92400e}.project-schedule-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#fef3c7;border-radius:4px;font-size:11px;color:#92400e;font-weight:500}.project-schedule-badge.active{background:#d1fae5;color:#065f46}.project-next-run{font-size:11px;color:#64748b;margin-top:4px}@media(max-width:640px){.schedule-row{flex-direction:column;align-items:flex-start}.schedule-select,.schedule-presets{width:100%}}.project-monitoring-toggle{margin-top:16px;padding:16px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:12px;border:1px solid #c4b5fd}.monitoring-toggle-header{display:flex;flex-direction:column;gap:6px}.project-monitoring-settings{margin-top:16px;padding:16px;background:#fff;border-radius:10px;border:1px solid #c4b5fd}.monitoring-fields-header{margin-bottom:12px}.monitoring-fields-header label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#5b21b6}.monitoring-fields-list{display:flex;flex-direction:column;gap:8px}.no-fields-hint{font-size:13px;color:#6b7280;font-style:italic;margin:0}.monitoring-field-checkbox{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f5f3ff;border-radius:8px;cursor:pointer;transition:background .2s}.monitoring-field-checkbox:hover{background:#ede9fe}.monitoring-field-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#7c3aed}.monitoring-field-checkbox .field-name{font-size:14px;font-weight:500;color:#1a1a2e}.monitoring-field-checkbox .field-selector{font-size:11px;color:#6b7280;font-family:monospace;margin-left:auto}.monitoring-info{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;background:#f5f3ff;border-radius:8px;font-size:13px;color:#5b21b6}.monitoring-info svg{flex-shrink:0;margin-top:2px}.project-schedule-badge.monitoring{background:#ede9fe;color:#5b21b6}.header-right{display:flex;align-items:center;gap:12px}.monitoring-alerts-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.monitoring-alerts-btn:hover{border-color:#7c3aed;color:#7c3aed}.monitoring-alerts-btn.has-alerts{background:#ede9fe;border-color:#7c3aed;color:#7c3aed}.alert-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#7c3aed;border-radius:10px;font-size:12px;font-weight:600;color:#fff}.monitoring-panel{position:fixed;top:80px;right:20px;width:420px;max-height:calc(100vh - 120px);background:#fff;border-radius:16px;box-shadow:0 20px 50px #00000026;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.monitoring-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff}.monitoring-panel-header h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;margin:0}.close-panel-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .2s}.close-panel-btn:hover{background:#ffffff4d}.monitoring-panel-content{flex:1;overflow-y:auto;padding:16px}.no-changes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#64748b}.no-changes svg{margin-bottom:16px;opacity:.4}.no-changes p{font-size:16px;font-weight:500;margin:0 0 4px}.no-changes span{font-size:13px}.changes-list{display:flex;flex-direction:column;gap:12px}.change-item{padding:14px;background:#fef3c7;border-radius:12px;border-left:4px solid #f59e0b}.change-item.acknowledged{background:#f1f5f9;border-left-color:#94a3b8;opacity:.7}.change-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.change-project{font-size:13px;font-weight:600;color:#92400e}.change-item.acknowledged .change-project{color:#64748b}.change-time{font-size:11px;color:#92400e;opacity:.7}.change-field{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.change-url{font-size:11px;color:#64748b;margin-bottom:12px;word-break:break-all}.change-values{display:flex;flex-direction:column;gap:8px}.old-value,.new-value{display:flex;gap:8px;font-size:13px}.value-label{font-weight:500;color:#64748b;min-width:50px}.old-value .value-text{color:#dc2626;text-decoration:line-through;word-break:break-word}.new-value .value-text{color:#059669;font-weight:500;word-break:break-word}.acknowledge-btn{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 12px;background:#fff;border:1px solid #f59e0b;border-radius:6px;font-size:12px;font-weight:500;color:#92400e;cursor:pointer;transition:all .2s}.acknowledge-btn:hover{background:#f59e0b;color:#fff}.clear-all-btn{width:100%;padding:12px;margin-top:8px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.clear-all-btn:hover{background:#e2e8f0;color:#1a1a2e}@media(max-width:640px){.monitoring-panel{right:10px;left:10px;width:auto;max-height:calc(100vh - 100px)}.monitoring-alerts-btn span{display:none}.monitoring-alerts-btn{padding:10px}}.change-item.change-type-added{background:#dcfce7;border-left-color:#22c55e}.change-item.change-type-changed{background:#fef3c7;border-left-color:#f59e0b}.change-item.change-type-removed{background:#fee2e2;border-left-color:#ef4444}.change-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.change-type-badge.added{background:#22c55e;color:#fff}.change-type-badge.changed{background:#f59e0b;color:#fff}.change-type-badge.removed{background:#ef4444;color:#fff}.change-header-left{display:flex;align-items:center;gap:8px}.change-legend{display:flex;align-items:center;gap:16px;padding:10px 12px;background:#f8fafc;border-radius:8px;margin-bottom:12px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#64748b}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-item.added .legend-dot{background:#22c55e}.legend-item.changed .legend-dot{background:#f59e0b}.legend-item.removed .legend-dot{background:#ef4444}.monitoring-header-actions{display:flex;align-items:center;gap:8px}.export-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .2s}.export-btn:hover{background:#ffffff4d}.notification-settings{margin-top:16px;padding:16px;background:#faf5ff;border-radius:10px;border:1px solid #e9d5ff}.notification-header{margin-bottom:12px}.notification-header label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#7c3aed}.notification-options{display:flex;gap:16px;flex-wrap:wrap}.notification-checkbox{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #e9d5ff;cursor:pointer;transition:all .2s}.notification-checkbox:has(input:checked){background:#f3e8ff;border-color:#a855f7}.notification-checkbox input[type=checkbox]{display:none}.checkbox-icon{font-size:16px}.checkbox-label{font-size:13px;font-weight:500;color:#1a1a2e}.email-input-row{margin-top:12px}.email-input{width:100%;padding:10px 14px;border:1px solid #e9d5ff;border-radius:8px;font-size:14px;transition:border-color .2s}.email-input:focus{outline:none;border-color:#a855f7}.urls-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.bulk-upload-section{display:flex;align-items:center}.upload-urls-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.upload-urls-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.bulk-monitor-hint{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;background:#f0fdf4;border-radius:8px;font-size:12px;color:#166534}.bulk-monitor-hint svg{flex-shrink:0;color:#22c55e}.project-schedule-badge.monthly{background:#dbeafe;color:#1d4ed8}.change-item.acknowledged.change-type-added,.change-item.acknowledged.change-type-changed,.change-item.acknowledged.change-type-removed{background:#f1f5f9}@media(max-width:640px){.urls-footer{flex-direction:column;gap:8px;align-items:flex-start}.notification-options{flex-direction:column}.change-legend{flex-wrap:wrap;gap:10px}}.playwright-toggle-section{margin-bottom:20px}.scraper-mode-selector{display:flex;gap:12px;padding:12px;background:#f8fafc;border-radius:12px}.scraper-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s}.scraper-mode-btn:hover{border-color:#94a3b8}.scraper-mode-btn.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:transparent;color:#fff}.scraper-mode-btn span:first-of-type{font-weight:600;font-size:14px}.scraper-mode-btn .mode-hint{font-size:11px;opacity:.7;font-weight:400}.scraper-mode-btn.active .mode-hint{opacity:.9}.playwright-options{margin-top:16px;padding:16px;background:#f0f9ff;border-radius:10px;border:1px solid #bae6fd}.playwright-option-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.playwright-option-row:last-child{margin-bottom:0}.playwright-option-row label{display:flex;align-items:center;gap:8px;font-size:13px;color:#1a1a2e;cursor:pointer}.playwright-option-row input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.playwright-input{flex:1;padding:8px 12px;border:1px solid #bae6fd;border-radius:6px;font-size:13px;background:#fff}.playwright-input:focus{outline:none;border-color:#3b82f6}.playwright-input.small{max-width:100px}.unblock-info{display:flex;align-items:center;gap:8px;padding:12px;background:linear-gradient(135deg,#dcfce7,#d1fae5);border-radius:8px;border:1px solid #86efac;margin-bottom:12px;font-size:13px;color:#166534}.unblock-info svg{flex-shrink:0;color:#22c55e}.browserql-info{display:flex;align-items:center;gap:8px;padding:12px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:8px;border:1px solid #a5b4fc;margin-bottom:12px;font-size:13px;color:#3730a3}.browserql-info svg{flex-shrink:0;color:#6366f1}.browserql-bot-detection{margin-bottom:12px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px;border:1px solid #fbbf24}.bot-detection-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#92400e;margin-bottom:12px}.bot-detection-header svg{color:#d97706}.bot-detection-options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.bot-detection-options .toggle-option,.bot-detection-proxy .toggle-option{display:flex;align-items:center;gap:8px;font-size:13px;color:#78350f;cursor:pointer}.bot-detection-options .toggle-option input[type=checkbox],.bot-detection-proxy .toggle-option input[type=checkbox]{width:16px;height:16px;accent-color:#d97706}.bot-detection-options .toggle-option span:first-of-type,.bot-detection-proxy .toggle-option span:first-of-type{font-weight:500;min-width:120px}.bot-detection-options .option-hint,.bot-detection-proxy .option-hint{font-size:11px;color:#a16207;font-weight:400}.bot-detection-proxy{padding-top:12px;border-top:1px solid rgba(251,191,36,.4)}.proxy-geo-options{margin-top:10px;margin-left:24px;display:flex;flex-direction:column;gap:10px}.proxy-geo-row{display:flex;align-items:center;gap:10px}.proxy-geo-row label{font-size:12px;font-weight:500;color:#78350f;min-width:80px}.proxy-geo-row select,.proxy-city-input{flex:1;padding:6px 10px;border:1px solid #fbbf24;border-radius:6px;font-size:12px;background:#fff;color:#78350f;max-width:200px}.proxy-geo-row select:focus,.proxy-city-input:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 2px #d9770633}.toggle-option.small{font-size:12px}.toggle-option.small span:first-of-type{min-width:100px}.browserql-bot-detection.project-level{margin-top:12px;padding:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;border:1px solid #fbbf24}.browserql-bot-detection.project-level .bot-detection-header{margin-bottom:8px}.bot-detection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bot-detection-grid .toggle-option{display:flex;align-items:center;gap:6px;font-size:12px;color:#78350f;cursor:pointer}.bot-detection-grid .toggle-option input[type=checkbox]{width:14px;height:14px;accent-color:#d97706}.bot-detection-grid .toggle-option span{font-weight:500}@media(max-width:640px){.bot-detection-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.scraper-mode-selector{flex-direction:column}.playwright-option-row{flex-direction:column;align-items:flex-start;gap:6px}.playwright-input{width:100%}.playwright-input.small{max-width:100%}}.project-pagination-toggle{margin-top:16px;padding:16px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-radius:12px;border:1px solid #93c5fd}.pagination-toggle-header{display:flex;flex-direction:column;gap:6px}.project-pagination-settings{margin-top:16px;padding:16px;background:#fff;border-radius:10px;border:1px solid #93c5fd;display:flex;flex-direction:column;gap:14px}.pagination-row{display:flex;flex-direction:column;gap:6px}.pagination-row label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#1e40af}.pagination-input{width:100%;padding:10px 12px;border:1px solid #93c5fd;border-radius:8px;font-size:14px;background:#fff;color:#1a1a2e}.pagination-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pagination-input.small{width:120px}.pagination-input::placeholder{color:#94a3b8}.input-hint{font-size:11px;color:#64748b}@media(max-width:640px){.pagination-input.small{width:100%}}.firecrawl-options{margin-bottom:16px}.firecrawl-info{display:flex;align-items:center;gap:8px;padding:12px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:8px;border:1px solid #fca5a5;margin-bottom:12px;font-size:13px;color:#991b1b}.firecrawl-info svg{flex-shrink:0;color:#ef4444}.firecrawl-settings{display:flex;flex-direction:column;gap:12px;padding:12px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.firecrawl-formats{display:flex;flex-direction:column;gap:8px}.firecrawl-formats .format-label{font-size:13px;font-weight:500;color:#991b1b}.format-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.format-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:#7f1d1d;cursor:pointer}.format-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:#ef4444}.firecrawl-toggles{display:flex;flex-wrap:wrap;gap:16px}.firecrawl-toggles .toggle-option{display:flex;align-items:center;gap:6px;font-size:12px;color:#7f1d1d;cursor:pointer}.firecrawl-toggles .toggle-option input[type=checkbox]{width:14px;height:14px;accent-color:#ef4444}.firecrawl-toggles .toggle-option span:first-of-type{font-weight:500}.firecrawl-toggles .option-hint{font-size:11px;color:#b91c1c;font-weight:400}.firecrawl-crawl{padding-top:12px;border-top:1px solid #fecaca}.firecrawl-crawl .crawl-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:#7f1d1d;cursor:pointer}.firecrawl-crawl .crawl-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#ef4444}.firecrawl-crawl .crawl-toggle span:first-of-type{font-weight:600}.firecrawl-crawl .option-hint{font-size:11px;color:#b91c1c;font-weight:400}.crawl-settings{display:flex;gap:16px;margin-top:10px;margin-left:24px}.crawl-setting{display:flex;align-items:center;gap:8px}.crawl-setting label{font-size:12px;font-weight:500;color:#7f1d1d}.crawl-setting input[type=number]{width:70px;padding:4px 8px;border:1px solid #fca5a5;border-radius:4px;font-size:12px;background:#fff;color:#7f1d1d}.crawl-setting input[type=number]:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}@media(max-width:640px){.format-checkboxes,.firecrawl-toggles{flex-direction:column;gap:8px}.crawl-settings{flex-direction:column;gap:10px}}.my-tasks{display:flex;flex-direction:column;gap:24px}.my-tasks-header{display:flex;flex-direction:column;gap:4px}.my-tasks-header h2{margin:0;font-size:24px;font-weight:700;color:#1a1a2e}.header-subtitle{margin:0;font-size:14px;color:#64748b}.empty-state-card{padding:60px 20px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;color:#94a3b8}.empty-state svg{color:#cbd5e1}.empty-state h3{margin:0;font-size:18px;color:#475569}.empty-state p{margin:0;font-size:14px;max-width:400px}.my-tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.task-project-card{cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:16px}.task-project-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.task-card-header{display:flex;justify-content:space-between;align-items:flex-start}.task-card-badges{display:flex;gap:8px}.card-arrow{color:#94a3b8;transition:transform .2s}.task-project-card:hover .card-arrow{transform:translate(4px);color:#3b82f6}.task-card-title{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.task-card-description{margin:0;font-size:14px;color:#64748b;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-card-progress{display:flex;flex-direction:column;gap:8px}.progress-label{display:flex;justify-content:space-between;font-size:12px;color:#64748b}.task-card-meta{display:flex;gap:16px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.meta-item svg{color:#94a3b8}.meta-item.pricing{color:#059669;font-weight:500}.meta-item.pricing svg{color:#059669}.task-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:16px;border-top:1px solid #E2E8F0}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-count{font-size:18px;font-weight:700}.stat-count.todo{color:#64748b}.stat-count.in-progress{color:#f59e0b}.stat-count.review{color:#8b5cf6}.stat-count.done{color:#10b981}.stat-label{font-size:11px;color:#94a3b8;text-transform:uppercase}.my-tasks-indicator{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fef3c7;border-radius:8px;font-size:13px;color:#b45309}.my-tasks-indicator svg{flex-shrink:0}.project-task-detail{display:flex;flex-direction:column;gap:20px}.detail-badges{display:flex;gap:8px}.detail-description{margin:0;font-size:14px;color:#64748b;line-height:1.6}.detail-progress{background:#f8fafc;padding:16px;border-radius:12px}.progress-header{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px;color:#475569}.progress-value{font-weight:600;color:#1a1a2e}.detail-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.detail-info-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#f8fafc;border-radius:10px}.detail-info-item svg{color:#667eea;margin-top:2px}.detail-info-item>div{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;color:#64748b}.info-value{font-size:14px;font-weight:500;color:#1a1a2e}.detail-tasks-section{display:flex;flex-direction:column;gap:12px}.detail-tasks-section h4{margin:0;font-size:14px;font-weight:600;color:#1a1a2e}.no-tasks-message{margin:0;padding:20px;background:#f8fafc;border-radius:8px;color:#64748b;font-size:14px;text-align:center}.tasks-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.task-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8fafc;border-radius:8px;transition:background .2s}.task-item:hover{background:#f1f5f9}.task-item.my-task{background:#fef3c7;border-left:3px solid #F59E0B}.task-item-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.task-title{font-size:14px;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assigned-badge{font-size:11px;padding:2px 8px;background:#f59e0b;color:#fff;border-radius:10px;white-space:nowrap}.task-item-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.task-due{font-size:12px;color:#64748b}.detail-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #E2E8F0}@media(max-width:768px){.my-tasks-grid{grid-template-columns:1fr}.task-card-stats{grid-template-columns:repeat(2,1fr)}.detail-info-grid{grid-template-columns:1fr}.task-item{flex-direction:column;align-items:flex-start;gap:8px}.task-item-right{width:100%;justify-content:space-between}}.app{display:flex;min-height:100vh;background:#f8fafc}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column}.page-content{flex:1;padding:24px 32px;overflow-y:auto}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f8fafc;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-loading p{color:#64748b;font-size:14px}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.placeholder-content h2{font-size:24px;font-weight:600;color:#1a1a2e;margin-bottom:8px}.placeholder-content p{color:#64748b;font-size:14px;max-width:400px}.reports-page{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d}.custom-page-viewer{background:#fff;border-radius:16px;padding:32px 40px;box-shadow:0 2px 8px #0000000d}.custom-page-viewer h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.custom-page-content{font-size:16px;line-height:1.8;color:#475569}.custom-page-content h1,.custom-page-content h2,.custom-page-content h3{color:#1a1a2e;margin:24px 0 12px}.custom-page-content p{margin:0 0 16px}.custom-page-content img{max-width:100%;border-radius:8px;margin:16px 0}.custom-page-content table{width:100%;border-collapse:collapse;margin:16px 0}.custom-page-content th,.custom-page-content td{padding:12px;border:1px solid #e2e8f0;text-align:left}.custom-page-content th{background:#f8fafc;font-weight:600}.custom-page-content blockquote{margin:16px 0;padding:12px 20px;background:#f8fafc;border-left:4px solid #3b82f6;font-style:italic}.custom-page-content pre{margin:16px 0;padding:16px;background:#1a1a2e;border-radius:8px;overflow-x:auto;color:#e2e8f0}.custom-page-placeholder{background:#fff;border-radius:16px;padding:60px 40px;box-shadow:0 2px 8px #0000000d;text-align:center}.custom-page-placeholder h2{font-size:24px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.custom-page-placeholder p{color:#64748b;font-size:14px}@media(max-width:768px){.main-content{margin-left:70px}.page-content{padding:16px}}
