.app-sidebar{width:240px;background:#fff;color:#4a5568;display:flex;flex-direction:column;box-shadow:1px 0 #e2e8f0;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;transition:width .3s cubic-bezier(.4,0,.2,1)}.app-sidebar.collapsed{width:64px}.app-sidebar.collapsed.hovering{width:240px;box-shadow:2px 0 8px #0000001a;z-index:100}.sidebar-header{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff;flex-shrink:0}.sidebar-header-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-brand-logo{height:28px;width:auto;max-width:40px;object-fit:contain;border-radius:6px;flex-shrink:0}.sidebar-brand-avatar{height:32px;width:32px;border-radius:8px;background:#e2e8f0;color:#475569;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-user-select:none;user-select:none}.app-sidebar.collapsed .sidebar-brand-avatar{opacity:1;width:32px;height:32px}.sidebar-brand-name,.sidebar-header h1{margin:0;font-size:1.125rem;font-weight:600;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar.collapsed .sidebar-header{padding:1rem 0;gap:0}.app-sidebar.collapsed .sidebar-header-top{justify-content:center}.app-sidebar.collapsed .sidebar-brand{justify-content:center;gap:0}.app-sidebar.collapsed .sidebar-brand-name{opacity:0;width:0;overflow:hidden;margin:0}.app-sidebar.collapsed .sidebar-brand-logo{height:32px;max-width:36px}.app-sidebar.collapsed .sidebar-header h1{opacity:0;width:0}.app-sidebar.collapsed.hovering .sidebar-header{padding:1.25rem 1.25rem 1rem;gap:.75rem}.app-sidebar.collapsed.hovering .sidebar-header-top{justify-content:space-between}.app-sidebar.collapsed.hovering .sidebar-brand{justify-content:flex-start;gap:10px}.app-sidebar.collapsed.hovering .sidebar-brand-name{opacity:1;width:auto;overflow:visible;transition:opacity .25s ease .1s}.app-sidebar.collapsed.hovering .sidebar-brand-logo{height:28px;max-width:40px}.app-sidebar.collapsed.hovering .sidebar-header h1{opacity:1;width:auto;transition:opacity .3s ease .1s}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;padding:0;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;transition:all .15s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background:#edf2f7;border-color:#cbd5e0;color:#2d3748}.sidebar-toggle-btn:active{transform:scale(.95)}.sidebar-subtitle{margin:.25rem 0 0;font-size:.75rem;color:#718096;font-weight:400}@keyframes sidebar-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f0f4f8,#e2e8f0 75%);background-size:400px 100%;animation:sidebar-shimmer 1.4s ease infinite;border-radius:6px}.skeleton-avatar{width:32px;height:32px;border-radius:8px;flex-shrink:0}.skeleton-brand-text{height:16px;width:110px;border-radius:4px}.skeleton-org-badge{height:34px;width:100%;border-radius:6px}.app-sidebar.collapsed .skeleton-brand-text,.app-sidebar.collapsed .skeleton-org-badge{display:none}.app-sidebar.collapsed.hovering .skeleton-brand-text,.app-sidebar.collapsed.hovering .skeleton-org-badge{display:block}.org-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;width:100%;box-sizing:border-box;min-width:0}.org-badge-icon{font-size:.875rem;color:#4299e1}.org-badge-name{font-size:.813rem;font-weight:500;color:#2d3748;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.nav-link{display:flex;align-items:center;padding:.625rem 1rem;margin:.125rem .75rem;color:#4a5568;text-decoration:none;transition:all .15s ease;border-radius:6px;gap:.75rem;font-size:.875rem;font-weight:500}.nav-link:hover{background:#f7fafc;color:#2d3748}.nav-link.active{background:#ebf8ff;color:#2c5282;font-weight:600}.nav-icon{font-size:1.125rem;width:1.25rem;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:currentColor}.nav-label{font-size:.875rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease,width .3s ease}.app-sidebar.collapsed .nav-label,.app-sidebar.collapsed .org-badge-name,.app-sidebar.collapsed .user-details,.app-sidebar.collapsed .logout-label,.app-sidebar.collapsed .version-info{opacity:0;width:0;overflow:hidden}.app-sidebar.collapsed .org-badge{display:none}.app-sidebar.collapsed.hovering .org-badge{display:flex}.app-sidebar.collapsed.hovering .nav-label,.app-sidebar.collapsed.hovering .org-badge-name,.app-sidebar.collapsed.hovering .user-details,.app-sidebar.collapsed.hovering .logout-label,.app-sidebar.collapsed.hovering .version-info{opacity:1;width:auto;transition:opacity .3s ease .1s}.app-sidebar.collapsed .nav-link{justify-content:center;padding:.625rem .5rem;margin:.125rem .5rem}.app-sidebar.collapsed .org-badge{padding:.5rem;justify-content:center}.nav-divider{height:1px;background:#e2e8f0;margin:.5rem 1rem}.sidebar-footer{padding:1rem;border-top:1px solid #e2e8f0;background:#fff}.user-info{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f7fafc;border-radius:8px;margin-bottom:.75rem;border:1px solid #e2e8f0;transition:all .3s ease}.app-sidebar.collapsed .user-info{justify-content:center;padding:.5rem;border:none;background:transparent;margin-bottom:.5rem}.app-sidebar.collapsed .logout-btn{justify-content:center;padding:.625rem;border:none;background:transparent}.app-sidebar.collapsed .logout-btn:hover{background:#f7fafc}.app-sidebar.collapsed .version-info{border-top:none;margin-top:.25rem}.user-avatar{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:#e6fffa;border-radius:50%;font-size:1.125rem;border:2px solid #81e6d9}.user-details{flex:1;min-width:0}.user-name{font-size:.875rem;font-weight:600;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-badge{font-size:.75rem;color:#718096;margin-top:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#fff;color:#4a5568;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.logout-btn:hover{background:#f7fafc;border-color:#cbd5e0;color:#2d3748}.logout-btn:active{transform:scale(.98)}.logout-icon{font-size:1rem;display:flex;align-items:center;justify-content:center}.logout-label{font-size:.875rem}.version-info{text-align:center;font-size:.75rem;color:#a0aec0;padding:.5rem 0;margin-top:.5rem;border-top:1px solid #e2e8f0;font-weight:500;letter-spacing:.025em}@media (max-width: 768px){.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;height:100vh;transform:translate(-100%);transition:transform var(--transition-base, .2s ease-in-out);z-index:var(--z-modal, 500);box-shadow:4px 0 12px #0000001a;overflow-y:auto}.app-sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:calc(var(--z-modal, 500) - 1);opacity:0;pointer-events:none;transition:opacity var(--transition-base, .2s ease-in-out)}.sidebar-overlay.visible{opacity:1;pointer-events:all}.sidebar-nav{display:flex;flex-direction:column;overflow-x:visible;overflow-y:auto;padding:.5rem 0}.nav-link{flex-direction:row;padding:.625rem 1rem;margin:.125rem .75rem;border-radius:6px;min-width:auto;width:calc(100% - 1.5rem);text-align:left;gap:.75rem}.nav-icon{margin-bottom:0;font-size:1.125rem;width:1.25rem;text-align:center}.nav-label{font-size:.875rem}}.app-header{height:64px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:1000;box-shadow:0 1px 3px #0000001a}@media (min-width: 769px){.app-header{position:static}}@media (max-width: 768px){.app-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 16px;height:64px}}.app-header__left,.app-header__right{display:flex;align-items:center;gap:16px;height:100%}.app-header__left{flex:1;min-width:0}.app-header__right{flex-shrink:0}.app-header__hamburger{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:8px;transition:all .2s ease;padding:0;flex-shrink:0}.app-header__hamburger svg{width:24px;height:24px}.app-header__hamburger:hover{background:#f1f5f9;color:#334155}.app-header__hamburger:active{background:#e2e8f0}.app-header__logo{display:flex;align-items:center;gap:10px;font-weight:700;color:#1e293b;font-size:16px;flex-shrink:0;height:100%}.app-header__logo-icon{font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center}.app-header__logo-text{white-space:nowrap;line-height:1;font-size:16px;font-weight:700}.app-header__search{position:relative;flex:1;max-width:500px;margin-left:16px}.app-header__search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.app-header__search-input{width:100%;height:40px;padding:0 16px 0 40px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:all .2s ease;background:#f8fafc}.app-header__search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.app-header__search-input::placeholder{color:#94a3b8}.app-header__icon-btn{position:relative;width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:50%;transition:all .2s ease;flex-shrink:0;padding:0}.app-header__icon-btn svg{width:20px;height:20px}.app-header__icon-btn:hover{background:#f1f5f9;color:#334155}.app-header__icon-btn:active{background:#e2e8f0}.app-header__notification-badge{position:absolute;top:8px;right:8px;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:12px;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff}.app-header__user{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 10px;border-radius:10px;transition:all .2s ease;flex-shrink:0;min-height:48px}.app-header__user:hover{background:#f1f5f9}.app-header__avatar{width:44px;height:44px;min-width:44px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;border:3px solid #ffffff;box-shadow:0 2px 8px #3b82f64d}.app-header__username{font-size:14px;font-weight:600;color:#1e293b;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__hamburger:focus-visible,.app-header__icon-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.app-header__search-input:focus-visible{outline:none}@media (max-width: 768px){.app-header__left{gap:12px}.app-header__right,.app-header__logo{gap:8px}.app-header__logo-icon{font-size:26px}.app-header__search{display:none}.app-header__icon-btn,.app-header__hamburger{width:44px;height:44px;min-width:44px}.app-header__avatar{width:40px;height:40px;min-width:40px;font-size:15px}.app-header__user{padding:4px;min-height:44px}.app-header__username{display:none}}@media (min-width: 769px) and (max-width: 1024px){.app-header__search{max-width:300px}.app-header__username{max-width:100px}}.app-layout{display:flex;min-height:100vh;background-color:var(--bg-secondary, #f8f9fa)}.app-main-content{flex:1;padding:0;overflow-y:auto;max-width:100%}@media (max-width: 768px){.app-layout{flex-direction:column}.app-main-content{padding:0;margin-top:64px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-box{width:100%;max-width:450px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.login-header{padding:2.5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.login-header h1{margin:0 0 1rem;font-size:2rem;font-weight:700}.org-badge-login{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.org-badge-login .org-icon{font-size:1.125rem}.org-badge-login .org-name{font-size:.938rem;font-weight:600;color:#fff}.login-body{padding:2rem}.form-group label{display:block;font-size:.938rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.form-control{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;font-family:inherit}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #f87171;border-radius:8px;color:#991b1b;font-size:.938rem;margin-bottom:1rem}.error-icon{font-size:1.125rem;flex-shrink:0}.btn-login{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea66}.btn-login:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3e91);transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-login:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;margin:1.5rem 0;color:#94a3b8;font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider span{padding:0 1rem;font-weight:600}.btn-guest{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;border:2px solid #cbd5e1;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-guest:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translateY(-2px);box-shadow:0 4px 12px #47556933}.btn-change-org{width:100%;padding:.75rem 1rem;background:transparent;color:#64748b;border:none;border-radius:6px;font-size:.938rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.btn-change-org:hover{background:#f8fafc;color:#475569}.login-footer{padding:1.5rem 2rem;background:#f8f9fa;border-top:2px solid #e2e8f0}.info-text{margin:0;font-size:.875rem;color:#6c757d;line-height:1.6;text-align:center}.login-error{padding:3rem 2rem;text-align:center;background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a}.login-error h2{margin:0 0 1.5rem;font-size:1.75rem;font-weight:700;color:#dc3545}.btn-back{padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:linear-gradient(135deg,#5568d3,#6a3e91);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}@media (max-width: 768px){.login-container{padding:1rem}.login-box{max-width:100%}.login-header{padding:2rem 1.5rem}.login-header h1{font-size:1.75rem}.login-body{padding:1.5rem}}.ds-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-semibold);border-radius:var(--radius-lg);border:2px solid transparent;cursor:pointer;transition:all var(--transition-base);position:relative;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;line-height:var(--leading-none)}.ds-button--sm{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);min-height:36px}.ds-button--md{font-size:var(--text-base);padding:var(--space-3) var(--space-5);min-height:var(--touch-target-min)}.ds-button--lg{font-size:var(--text-lg);padding:var(--space-4) var(--space-6);min-height:52px}.ds-button--primary{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-600) 100%);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.ds-button--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--brand-primary-600) 0%,var(--brand-primary-700) 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ds-button--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.ds-button--secondary{background:var(--color-gray-100);color:var(--text-primary);border-color:var(--border-base)}.ds-button--secondary:hover:not(:disabled){background:var(--color-gray-200);border-color:var(--border-strong)}.ds-button--outline{background:transparent;color:var(--brand-primary);border-color:var(--brand-primary)}.ds-button--outline:hover:not(:disabled){background:var(--brand-primary-50);border-color:var(--brand-primary-600)}.ds-button--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.ds-button--ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--text-primary)}.ds-button--ghost.ds-button--ghost-danger{color:var(--color-error-500)}.ds-button--ghost.ds-button--ghost-danger:hover:not(:disabled){background:#fee2e2;color:var(--color-error-600)}.ds-button--danger{background:linear-gradient(135deg,var(--color-error-500) 0%,var(--color-error-600) 100%);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.ds-button--danger:hover:not(:disabled){background:linear-gradient(135deg,var(--color-error-600) 0%,var(--color-error-700) 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ds-button--full-width{width:100%}.ds-button:disabled,.ds-button--disabled{opacity:.5;cursor:not-allowed;transform:none!important}.ds-button--loading{cursor:wait}.ds-button__icon{display:inline-flex;align-items:center;font-size:1.25em}.ds-button__icon--left{margin-right:calc(var(--space-1) * -1)}.ds-button__icon--right{margin-left:calc(var(--space-1) * -1)}.ds-button__spinner{display:inline-flex;align-items:center}.ds-button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media (max-width: 768px){.ds-button{min-height:var(--touch-target-min)}.ds-button--sm{min-height:40px;padding:var(--space-2) var(--space-4)}.ds-button--md{padding:var(--space-3) var(--space-5)}.ds-button--lg{padding:var(--space-4) var(--space-6)}}.ds-card{background:var(--bg-primary);border-radius:var(--radius-xl);transition:all var(--transition-base);position:relative;overflow:hidden;margin-bottom:24px;margin-top:0}.ds-card--elevated{box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.ds-card--outlined{border:2px solid var(--border-base)}.ds-card--filled{background:var(--bg-secondary);border:1px solid var(--border-light)}.ds-card--padding-none{padding:0}.ds-card--padding-sm{padding:var(--space-4)}.ds-card--padding-md{padding:var(--space-6)}.ds-card--padding-lg{padding:var(--space-8)}.ds-card--hoverable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ds-card--clickable{cursor:pointer}.ds-card--clickable:active{transform:translateY(0)}.ds-card--clickable:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.ds-card__header{padding:var(--space-6);border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.ds-card__body{padding:var(--space-6)}.ds-card__footer{padding:var(--space-6);border-top:1px solid var(--border-light);background:var(--bg-secondary)}.ds-card--padding-none .ds-card__header,.ds-card--padding-none .ds-card__body,.ds-card--padding-none .ds-card__footer{padding:var(--space-6)}@media (max-width: 768px){.ds-card--padding-md{padding:var(--space-4)}.ds-card--padding-lg{padding:var(--space-6)}.ds-card__header,.ds-card__body,.ds-card__footer,.ds-card--padding-none .ds-card__header,.ds-card--padding-none .ds-card__body,.ds-card--padding-none .ds-card__footer{padding:var(--space-4)}}.ds-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap;line-height:var(--leading-none);border:1px solid transparent}.ds-badge--sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.ds-badge--md{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.ds-badge--lg{font-size:var(--text-base);padding:var(--space-2) var(--space-4)}.ds-badge--default{background:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300)}.ds-badge--primary{background:var(--brand-primary-100);color:var(--brand-primary-700);border-color:var(--brand-primary-300)}.ds-badge--success{background:var(--color-success-100);color:var(--color-success-700);border-color:var(--color-success-500)}.ds-badge--warning{background:var(--color-warning-100);color:var(--color-warning-700);border-color:var(--color-warning-500)}.ds-badge--error{background:var(--color-error-100);color:var(--color-error-700);border-color:var(--color-error-500)}.ds-badge--info{background:var(--color-info-100);color:var(--color-info-700);border-color:var(--color-info-500)}.ds-badge__icon{display:inline-flex;align-items:center;font-size:1em}@media (max-width: 768px){.ds-badge--sm{font-size:.8125rem}.ds-badge--md{font-size:var(--text-sm)}}.loading-spinner-container{display:inline-flex;align-items:center;gap:8px}.loading-spinner-container--inline{display:inline-flex}.loading-spinner{animation:loading-spinner-rotate 1s linear infinite!important;will-change:transform}.loading-spinner__track{fill:none}.loading-spinner__indicator{fill:none;transform-origin:center;animation:loading-spinner-dash 1.5s ease-in-out infinite}.loading-spinner__text{font-size:.875rem;color:#64748b}@keyframes loading-spinner-rotate{to{transform:rotate(360deg)}}@keyframes loading-spinner-dash{0%{stroke-dasharray:1 62.8;stroke-dashoffset:0}50%{stroke-dasharray:31.4 31.4;stroke-dashoffset:-15.7}to{stroke-dasharray:1 62.8;stroke-dashoffset:-62.8}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:450px;overflow:hidden;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 30px 30px;text-align:center}.login-header h1{margin:0 0 10px;font-size:28px;font-weight:700}.login-header .subtitle{margin:0;font-size:16px;opacity:.95;font-weight:400}.login-body{padding:30px}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:10px;color:#c33;font-size:14px}.error-icon{font-size:18px;flex-shrink:0}.warning-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:20px;color:#856404;line-height:1.6}.warning-message p{margin:8px 0}.oauth-section{margin-bottom:20px}.btn-oauth{width:100%;padding:14px 20px;border:1.5px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s ease;margin-bottom:12px}.btn-oauth:hover:not(:disabled){border-color:#667eea;background:#f8f9ff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea26}.btn-oauth:active:not(:disabled){transform:translateY(0)}.btn-oauth:disabled{opacity:.6;cursor:not-allowed}.oauth-icon{font-size:20px}.btn-google:hover:not(:disabled){border-color:#4285f4;background:#f7f9ff}.btn-microsoft:hover:not(:disabled){border-color:#00a4ef;background:#f7fcff}.divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:#999;font-size:14px}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.divider span{padding:0 16px;font-weight:500}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-input{width:100%;padding:12px 16px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{background:#f5f5f5;cursor:not-allowed}.form-input::placeholder{color:#999}.form-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-full{width:100%;padding:14px}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:none}.link-button:hover:not(:disabled){text-decoration:underline;color:#5568d3}.link-button:disabled{opacity:.5;cursor:not-allowed}.link-button-small{background:none;border:none;color:#999;cursor:pointer;font-size:12px;padding:0;text-decoration:none}.link-button-small:hover:not(:disabled){text-decoration:underline;color:#667eea}.mode-switcher{margin-top:24px;text-align:center;color:#666;font-size:14px}.mode-switcher p{margin:0}.dev-mode-link{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0;text-align:center}@media (max-width: 480px){.login-container{padding:0}.login-box{border-radius:0;max-width:100%;min-height:100vh}.login-header{padding:30px 20px 25px}.login-header h1{font-size:24px}.login-body{padding:20px}.btn-oauth{padding:12px 16px;font-size:14px}.form-input{padding:10px 14px;font-size:14px}}.btn-primary:disabled,.btn-oauth:disabled{position:relative}.btn-primary:disabled:after{content:"";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.page-container-controlled{padding:32px;max-width:1600px;margin:0 auto;width:100%}.page-container-full{padding:32px;max-width:100%;margin:0;width:100%}@media (max-width: 768px){.page-container-controlled,.page-container-full{padding:16px}}@media (min-width: 769px) and (max-width: 1024px){.page-container-controlled,.page-container-full{padding:24px}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-title-section{display:flex;align-items:center;gap:12px}.page-title{font-size:28px;font-weight:700;color:#1e293b;margin:0}.page-subtitle{font-size:14px;color:#64748b;margin:4px 0 0}.content-grid{display:grid;gap:20px;margin-top:24px}.content-grid-4{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.content-grid-3{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.content-grid-2{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}@media (max-width: 768px){.content-grid-4,.content-grid-3,.content-grid-2{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.content-grid-4,.content-grid-3{grid-template-columns:repeat(2,1fr)}}.stats-grid{display:grid;gap:16px;margin-bottom:24px}.stats-grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (max-width: 768px){.stats-grid-4{grid-template-columns:1fr}}.page-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.search-wrapper{flex:1 1 300px;min-width:200px}.filter-wrapper{flex:0 1 200px}.workflow-stats-card{display:flex;flex-direction:column;gap:16px}.workflow-stats-header{display:flex;align-items:center;gap:16px}.workflow-stats-icon{font-size:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.workflow-stats-content{flex:1;min-width:0}.workflow-stats-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;word-wrap:break-word;overflow-wrap:break-word}.workflow-stats-grid{display:flex;gap:24px;flex-wrap:wrap;margin-top:8px}.workflow-stat-item{min-width:60px}.workflow-stat-value{font-size:20px;font-weight:700;color:#1e293b;line-height:1.2}.workflow-stat-value.pending{color:#f59e0b}.workflow-stat-value.overdue{color:#ef4444}.workflow-stat-value.completed{color:#10b981}.workflow-stat-label{font-size:11px;color:#64748b;margin-top:2px;white-space:nowrap}.workflow-stats-loading{font-size:24px;font-weight:700;color:#1e293b}@media (max-width: 768px){.workflow-stats-header{gap:12px}.workflow-stats-icon{font-size:36px}.workflow-stats-label{font-size:11px;letter-spacing:.03em;line-height:1.3}.workflow-stats-grid{gap:16px;margin-top:12px}.workflow-stat-item{min-width:50px;flex:0 0 calc(50% - 8px)}.workflow-stat-value{font-size:18px}.workflow-stat-label{font-size:10px}}@media (max-width: 374px){.workflow-stats-header{gap:8px}.workflow-stats-icon{font-size:32px}.workflow-stats-label{font-size:10px}.workflow-stats-grid{gap:12px}.workflow-stat-value{font-size:16px}.workflow-stat-label{font-size:9px}}.form-stats-card{display:flex;flex-direction:column;gap:16px}.form-stats-header{display:flex;align-items:center;gap:16px}.form-stats-icon{font-size:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.form-stats-content{flex:1;min-width:0}.form-stats-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;word-wrap:break-word;overflow-wrap:break-word}.form-stats-grid{display:flex;gap:24px;flex-wrap:wrap;margin-top:8px}.form-stat-item{min-width:60px}.form-stat-value{font-size:20px;font-weight:700;color:#1e293b;line-height:1.2}.form-stat-value.pending{color:#f59e0b}.form-stat-value.overdue{color:#ef4444}.form-stat-value.completed{color:#10b981}.form-stat-label{font-size:11px;color:#64748b;margin-top:2px;white-space:nowrap}.form-stats-loading{font-size:24px;font-weight:700;color:#1e293b}@media (max-width: 768px){.form-stats-header{gap:12px}.form-stats-icon{font-size:36px}.form-stats-label{font-size:11px;letter-spacing:.03em;line-height:1.3}.form-stats-grid{gap:16px;margin-top:12px}.form-stat-item{min-width:50px;flex:0 0 calc(50% - 8px)}.form-stat-value{font-size:18px}.form-stat-label{font-size:10px}}@media (max-width: 374px){.form-stats-header{gap:8px}.form-stats-icon{font-size:32px}.form-stats-label{font-size:10px}.form-stats-grid{gap:12px}.form-stat-value{font-size:16px}.form-stat-label{font-size:9px}}.ccp-compliance-dashboard{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:all .3s ease;height:auto;display:flex;flex-direction:column;min-height:230px;grid-column:span 1;min-width:0}@media (min-width: 769px){.ccp-compliance-dashboard{grid-column:span 2}}.ccp-compliance-dashboard:hover{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.ccp-compliance-dashboard.loading{display:flex;align-items:center;justify-content:center;min-height:230px}.ccp-loading-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.ccp-loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #10b981;border-radius:50%;animation:ccp-spin 1s linear infinite}.ccp-loading-text{font-size:.875rem;font-weight:500;color:#64748b;animation:ccp-pulse 1.5s ease-in-out infinite}@keyframes ccp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ccp-pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem}.header-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;flex-shrink:0;box-shadow:0 2px 6px #10b98140}.header-content{flex:1;min-width:0}.dashboard-title{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 .125rem;line-height:1.2}.dashboard-description{font-size:.75rem;color:#64748b;margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-stats{display:flex;gap:.625rem;margin-bottom:.875rem;justify-content:space-between}.stat-item{text-align:center;padding:.5rem .75rem;border-radius:8px;background:#f8fafc;transition:all .3s ease;flex:1;min-width:90px}.stat-item:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.stat-item.highlight{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 6px #10b98140}.stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.125rem;line-height:1}.stat-item.highlight .stat-value{color:#fff}.stat-label{font-size:.625rem;font-weight:600;color:#64748b;letter-spacing:.01em;text-transform:uppercase;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.stat-item.highlight .stat-label{color:#fffffff2}.severity-breakdown{display:flex;flex-direction:column}.breakdown-title{font-size:.813rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.severity-item{margin-bottom:.5rem}.severity-item:last-child{margin-bottom:0}.severity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.severity-info{display:flex;align-items:center;gap:.375rem;flex:1;min-width:0}.severity-icon{font-size:.875rem;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000001a;flex-shrink:0}.severity-name{font-size:.75rem;font-weight:600;color:#1e293b}.severity-note{font-size:.688rem;color:#94a3b8;font-style:italic;display:none}.severity-stats{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.severity-count{font-size:.813rem;font-weight:600;color:#475569;min-width:24px;text-align:right}.severity-percentage{font-size:.938rem;font-weight:700;color:#1e293b;min-width:45px;text-align:right}.severity-bar{width:100%;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.severity-fill{height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:3px}.critical-fill{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef44444d}.warning-fill{background:linear-gradient(90deg,#f59e0b,#d97706);box-shadow:0 2px 4px #f59e0b4d}.safe-fill{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 2px 4px #10b9814d}.severity-item.critical .severity-percentage{color:#dc2626}.severity-item.warning .severity-percentage{color:#d97706}.severity-item.safe .severity-percentage{color:#059669}.compliance-summary{display:flex;align-items:center;gap:.375rem;margin-top:.625rem;padding:.5rem .75rem;border-radius:8px;font-size:.75rem;font-weight:500;flex-shrink:0}.compliance-summary.excellent{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1.5px solid #10b981;color:#065f46}.compliance-summary.good{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1.5px solid #f59e0b;color:#92400e}.compliance-summary.needs-attention{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1.5px solid #ef4444;color:#991b1b;animation:pulse-alert 2s ease-in-out infinite}@keyframes pulse-alert{0%,to{box-shadow:0 2px 8px #ef444433}50%{box-shadow:0 4px 16px #ef44444d}}.summary-icon{font-size:1rem;flex-shrink:0}.summary-text{flex:1;line-height:1.3}.no-data-message{text-align:center;padding:1.5rem 1rem;color:#64748b;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.no-data-message p{margin:0 0 .25rem;font-size:.813rem}.no-data-message .hint{font-size:.75rem;color:#94a3b8;line-height:1.4}@media (min-width: 1400px){.severity-note{display:inline}}@media (max-width: 768px){.ccp-compliance-dashboard{padding:1.25rem}.dashboard-stats{flex-direction:column;gap:.75rem}.stat-value{font-size:1.5rem}.severity-header{gap:.5rem}.severity-name{font-size:.813rem}.severity-percentage{font-size:1rem}.compliance-summary{padding:.625rem .875rem;font-size:.75rem}.summary-icon{font-size:1.125rem}}@media print{.ccp-compliance-dashboard{box-shadow:none;border:1px solid #e2e8f0}.ccp-compliance-dashboard:hover,.stat-item:hover{transform:none}}.breaches-tasks-chart{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:all .3s ease;height:auto;display:flex;flex-direction:column;min-height:230px;grid-column:span 1;min-width:0}@media (min-width: 769px){.breaches-tasks-chart{grid-column:span 2}}.breaches-tasks-chart:hover{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.chart-loading{display:flex;align-items:center;justify-content:center;min-height:230px;color:#64748b;font-size:.875rem}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.chart-title-section{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.chart-title{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 .25rem;line-height:1.2}.chart-description{font-size:.75rem;color:#64748b;margin:0;line-height:1.3}.chart-summary-section{display:flex;align-items:center;gap:.75rem;flex-shrink:0;flex-wrap:wrap}.summary-item{display:flex;align-items:center;gap:.5rem;font-size:.813rem;color:#1e293b;padding:.375rem .75rem;border-radius:6px;background:#f8f9fa;border:1px solid #e2e8f0;transition:all .3s ease;cursor:pointer}.summary-item:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.summary-item.breaches{background:#fef2f2;border-color:#fecaca;color:#991b1b}.summary-item.breaches:hover{background:#fee2e2;border-color:#fca5a5;box-shadow:0 2px 6px #ef444426}.summary-item.tasks{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.summary-item.tasks:hover{background:#dbeafe;border-color:#93c5fd;box-shadow:0 2px 6px #3b82f626}.summary-item.all-clear{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.summary-item.all-clear:hover{background:#dcfce7;border-color:#86efac;box-shadow:0 2px 6px #10b98126}.chart-stats{display:flex;gap:1rem;flex-shrink:0}.chart-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border-radius:8px;background:#f8f9fa;min-width:60px;transition:all .3s ease;cursor:pointer}.chart-stats .stat-item:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014;background:#f1f5f9}.chart-stats .stat-value{font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1}.chart-stats .stat-label{font-size:.688rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.chart-content{flex:1;min-height:200px}.chart-container{width:100%;overflow-x:visible;overflow-y:visible;padding-bottom:1rem}.chart-bars{display:flex;gap:.125rem;align-items:flex-end;justify-content:space-between;min-height:180px;padding:.5rem 0;width:100%}.day-group{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:0;flex:1;min-width:0;max-width:calc(100% / 30);overflow:visible;position:relative}.bars-row{display:flex;gap:.125rem;align-items:flex-end;justify-content:center;width:100%}.day-label{font-size:.5rem;color:#64748b;font-weight:500;text-align:center;white-space:nowrap;margin-top:.5rem;padding:.125rem 0;overflow:visible;text-overflow:ellipsis;line-height:1;transform:rotate(-45deg);transform-origin:center;height:2rem;width:2rem;display:flex;align-items:center;justify-content:center}.bar-wrapper{position:relative;flex:1;max-width:3px;display:flex;align-items:flex-end;justify-content:center;height:100%}.bar-segment{width:100%;max-width:3px;border-radius:1px 1px 0 0;min-height:2px;transition:all .2s ease;cursor:pointer}.bar-segment:hover{opacity:.9;transform:scaleY(1.05)}.empty-bar{width:100%;max-width:3px;height:2px;background:#f1f5f9;border-radius:1px}.bar-value{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.625rem;font-weight:700;color:#1e293b;white-space:nowrap;background:#fff;padding:.125rem .25rem;border-radius:3px;box-shadow:0 1px 2px #0000001a;z-index:10}.bar-segment.critical{background:#dc2626}.bar-segment.warning{background:#f59e0b}.bar-segment.safezone{background:#10b981}.chart-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:#94a3b8;font-size:.875rem}.chart-legend{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;flex-wrap:wrap}.legend-section{display:flex;flex-direction:column;gap:.5rem}.legend-title{font-size:.75rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.05em}.legend-items{display:flex;gap:1rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-color.critical{background:#dc2626}.legend-color.warning{background:#f59e0b}.legend-color.safezone{background:#10b981}.breaches-chart-tooltip{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 4px 12px #0000001a;z-index:1000;min-width:180px;pointer-events:none}.breaches-chart-tooltip .tooltip-date{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.breaches-chart-tooltip .tooltip-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;margin-bottom:4px}.breaches-chart-tooltip .tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.breaches-chart-tooltip .tooltip-total{font-size:13px;color:#1e293b;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.breaches-chart-tooltip .tooltip-total strong{color:#1e293b;font-weight:700}@media (max-width: 768px){.breaches-tasks-chart{grid-column:span 1}.chart-header{flex-direction:column;gap:.75rem}.chart-stats{width:100%;justify-content:space-around}.day-label{font-size:.625rem;height:30px}.bars-container{gap:.125rem}.bar-group{min-width:20px}}.submissions-by-due-date-chart{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:all .3s ease;height:auto;display:flex;flex-direction:column;min-height:230px;grid-column:span 1;min-width:0}@media (min-width: 769px){.submissions-by-due-date-chart{grid-column:span 2}}.submissions-by-due-date-chart:hover{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.submissions-by-due-date-chart .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.submissions-by-due-date-chart .chart-title-section{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.submissions-by-due-date-chart .chart-title{font-size:1rem;font-weight:700;color:#1e293b;margin:0 0 .25rem;line-height:1.2}.submissions-by-due-date-chart .chart-description{font-size:.75rem;color:#64748b;margin:0;line-height:1.3}.submissions-by-due-date-chart .chart-summary-section{display:flex;align-items:center;gap:.75rem;flex-shrink:0;flex-wrap:wrap}.submissions-by-due-date-chart .summary-item{display:flex;align-items:center;gap:.5rem;font-size:.813rem;color:#1e293b;padding:.375rem .75rem;border-radius:6px;background:#f8f9fa;border:1px solid #e2e8f0;transition:all .3s ease;cursor:pointer}.submissions-by-due-date-chart .summary-item:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.submissions-by-due-date-chart .summary-item.on-time{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.submissions-by-due-date-chart .summary-item.on-time:hover{background:#dcfce7;border-color:#86efac;box-shadow:0 2px 6px #10b98126}.submissions-by-due-date-chart .summary-item.not-started{background:#fffbeb;border-color:#fde68a;color:#92400e}.submissions-by-due-date-chart .summary-item.not-started:hover{background:#fef3c7;border-color:#fcd34d;box-shadow:0 2px 6px #f59e0b26}.submissions-by-due-date-chart .summary-item.overdue{background:#fef2f2;border-color:#fecaca;color:#991b1b}.submissions-by-due-date-chart .summary-item.overdue:hover{background:#fee2e2;border-color:#fca5a5;box-shadow:0 2px 6px #ef444426}.submissions-by-due-date-chart .summary-item.all-on-time{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.submissions-by-due-date-chart .summary-item.all-on-time:hover{background:#dcfce7;border-color:#86efac;box-shadow:0 2px 6px #10b98126}.submissions-by-due-date-chart .summary-item strong{font-weight:600}.submissions-by-due-date-chart .chart-stats{display:flex;gap:1rem;flex-shrink:0}.submissions-by-due-date-chart .chart-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border-radius:8px;background:#f8f9fa;min-width:80px;transition:all .3s ease;cursor:pointer}.submissions-by-due-date-chart .chart-stats .stat-item:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014;background:#f1f5f9}.submissions-by-due-date-chart .chart-stats .stat-value{font-size:1.75rem;font-weight:700;line-height:1;transition:color .3s ease}.submissions-by-due-date-chart .chart-stats .stat-label{font-size:.688rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.submissions-by-due-date-chart .chart-content{flex:1;min-height:200px}.submissions-by-due-date-chart .chart-container{width:100%;overflow-x:visible;overflow-y:visible;padding-bottom:1rem}.submissions-by-due-date-chart .chart-bars{display:flex;gap:.125rem;align-items:flex-end;justify-content:space-between;min-height:180px;padding:.5rem 0;width:100%}.submissions-by-due-date-chart .chart-bar-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:0;flex:1;min-width:0;max-width:calc(100% / 30);overflow:visible;position:relative}.submissions-by-due-date-chart .chart-bar-stack{display:flex;gap:.125rem;align-items:flex-end;justify-content:center;width:100%}.submissions-by-due-date-chart .bar-wrapper{position:relative;flex:1;max-width:3px;display:flex;align-items:flex-end;justify-content:center;height:100%}.submissions-by-due-date-chart .chart-bar{width:100%;max-width:3px;border-radius:1px 1px 0 0;min-height:2px;transition:all .2s ease;cursor:pointer}.submissions-by-due-date-chart .chart-bar:hover{opacity:.9;transform:scaleY(1.05)}.submissions-by-due-date-chart .chart-bar.on-time{background:#10b981}.submissions-by-due-date-chart .chart-bar.not-started{background:#f59e0b}.submissions-by-due-date-chart .chart-bar.overdue{background:#dc2626}.submissions-by-due-date-chart .empty-bar{width:100%;max-width:3px;height:2px;background:#f1f5f9;border-radius:1px}.submissions-by-due-date-chart .chart-bar-label{font-size:.5rem;color:#64748b;font-weight:500;text-align:center;white-space:nowrap;margin-top:.5rem;padding:.125rem 0;overflow:visible;text-overflow:ellipsis;line-height:1;transform:rotate(-45deg);transform-origin:center;height:2rem;width:2rem;display:flex;align-items:center;justify-content:center}.submissions-by-due-date-chart .chart-bar-label.no-data{opacity:.3}.submissions-by-due-date-chart .chart-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:#94a3b8;font-size:.875rem}.submissions-by-due-date-chart .chart-legend{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;flex-wrap:wrap}.submissions-by-due-date-chart .legend-title{font-size:.75rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.05em}.submissions-by-due-date-chart .legend-items{display:flex;gap:1rem;flex-wrap:wrap}.submissions-by-due-date-chart .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.submissions-by-due-date-chart .legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.submissions-by-due-date-chart .legend-color.on-time{background:#10b981}.submissions-by-due-date-chart .legend-color.not-started{background:#f59e0b}.submissions-by-due-date-chart .legend-color.overdue{background:#dc2626}.submissions-by-due-date-chart .chart-loading{display:flex;align-items:center;justify-content:center;min-height:230px;color:#64748b;font-size:.875rem}@media (max-width: 768px){.submissions-by-due-date-chart{grid-column:span 1}.submissions-by-due-date-chart .chart-header{flex-direction:column;gap:.75rem}.submissions-by-due-date-chart .chart-stats{width:100%;justify-content:center}.submissions-by-due-date-chart .chart-bar-label{font-size:.625rem;height:30px}}.submissions-by-due-date-chart .submissions-chart-tooltip{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 4px 12px #0000001a;z-index:1000;min-width:180px;pointer-events:none}.submissions-by-due-date-chart .submissions-chart-tooltip .tooltip-date{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.submissions-by-due-date-chart .submissions-chart-tooltip .tooltip-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;margin-bottom:4px}.submissions-by-due-date-chart .submissions-chart-tooltip .tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.submissions-by-due-date-chart .submissions-chart-tooltip .tooltip-total{font-size:13px;color:#1e293b;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.submissions-by-due-date-chart .submissions-chart-tooltip .tooltip-total strong{color:#1e293b;font-weight:700}.haccp-metric-card{transition:transform .2s ease,box-shadow .2s ease}.haccp-metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.haccp-metric-layout{display:flex;align-items:center;gap:16px}.haccp-metric-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.haccp-metric-content{flex:1;min-width:0}.haccp-metric-title{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.haccp-metric-value{font-size:32px;font-weight:700;line-height:1;margin-bottom:8px}.haccp-metric-trend{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.haccp-metric-trend .trend-arrow{font-size:14px;font-weight:700}.haccp-metric-trend.positive{color:#10b981}.haccp-metric-trend.negative{color:#ef4444}.haccp-metric-card.loading{pointer-events:none}.haccp-metric-skeleton{display:flex;align-items:center;gap:16px}.skeleton-icon{width:48px;height:48px;border-radius:8px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-title{width:80px;height:12px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-value{width:120px;height:32px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.haccp-metric-value{font-size:28px}.haccp-metric-icon{font-size:36px}}.compliance-trend-chart{grid-column:span 2}.chart-title{font-size:24px;font-weight:700;color:#1e293b;margin:0}.chart-subtitle{font-size:14px;color:#94a3b8;margin:4px 0 0;font-weight:400}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.chart-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:16px;height:16px;border-radius:3px}.legend-label{font-size:13px;color:#64748b;font-weight:500}.compliance-trend-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 4px 12px #0000001a}.tooltip-date{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.tooltip-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;margin-bottom:4px}.tooltip-dot{width:8px;height:8px;border-radius:50%}.tooltip-rate{font-size:13px;color:#1e293b;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.tooltip-rate strong{color:#10b981;font-weight:700}@media (max-width: 768px){.compliance-trend-chart{grid-column:span 1}.chart-header{flex-direction:column;align-items:flex-start;gap:12px}.chart-legend{flex-direction:column;align-items:flex-start;gap:8px}}.form-activity-chart{grid-column:span 2}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chart-title-section{display:flex;align-items:center;gap:12px}.chart-title{font-size:18px;font-weight:700;color:#1e293b;margin:0}.chart-subtitle{font-size:13px;color:#64748b;margin:4px 0 0}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#64748b}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.chart-no-data{display:flex;align-items:center;justify-content:center;height:300px;color:#94a3b8;font-size:14px}.chart-summary{display:flex;justify-content:center;gap:32px;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.summary-item{display:flex;align-items:center;gap:8px}.summary-label{font-size:13px;color:#64748b;font-weight:500}.summary-value{font-size:16px;color:#1e293b;font-weight:700}.form-activity-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 4px 12px #0000001a;max-width:250px}.tooltip-form-name{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:6px;word-wrap:break-word}.tooltip-count{font-size:12px;color:#64748b}.tooltip-count strong{color:#8b5cf6;font-weight:700}@media (max-width: 768px){.form-activity-chart{grid-column:span 1}.chart-header{flex-direction:column;align-items:flex-start;gap:12px}.chart-summary{flex-direction:column;align-items:flex-start;gap:8px}}.design-demo{max-width:1200px;margin:0 auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-8)}.design-demo__header{text-align:center;margin-bottom:var(--space-4)}.design-demo__header h1{font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin:0 0 var(--space-3) 0;letter-spacing:var(--tracking-tight)}.design-demo__subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin:0 0 var(--space-4) 0}.demo-section{margin-bottom:var(--space-6)}.demo-section:last-child{margin-bottom:0}.demo-section h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.button-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.badge-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-3)}.color-swatch{display:flex;flex-direction:column;gap:var(--space-2)}.color-swatch__color{width:100%;height:60px;border-radius:var(--radius-lg);border:1px solid var(--border-base)}.color-swatch__label{font-size:var(--text-xs);text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.shadow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-6)}.shadow-demo{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.shadow-demo__box{width:100px;height:100px;background:var(--bg-primary);border-radius:var(--radius-lg)}.shadow-demo__label{font-size:var(--text-sm);color:var(--text-secondary);text-align:center}@media (max-width: 768px){.design-demo{padding:var(--space-4);gap:var(--space-6)}.design-demo__header h1{font-size:var(--text-3xl)}.design-demo__subtitle{font-size:var(--text-base)}.button-grid{flex-direction:column;align-items:stretch}.card-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.shadow-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-4)}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none;max-width:420px}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:8px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;min-width:300px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-enter{animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.toast-exit{animation:slideOut .3s cubic-bezier(.4,0,.2,1)}.toast-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-left:4px solid #047857}.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-left:4px solid #b91c1c}.toast-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-left:4px solid #b45309}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-left:4px solid #1d4ed8}.toast-icon{display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;width:24px;height:24px;flex-shrink:0}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;padding:4px 8px;opacity:.8;transition:opacity .2s;border-radius:4px;flex-shrink:0}.toast-close:hover{opacity:1;background:#fff3}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{min-width:auto;width:100%}@keyframes slideIn{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100px);opacity:0}}}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:100%;animation:slideUp .3s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-header{display:flex;align-items:center;gap:12px;padding:24px 24px 16px}.confirm-icon{font-size:2rem;flex-shrink:0}.confirm-title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.confirm-body{padding:0 24px 24px}.confirm-message{color:#6b7280;font-size:.95rem;line-height:1.6;margin:0 0 0 44px}.confirm-footer{display:flex;gap:12px;padding:16px 24px;background:#f9fafb;justify-content:flex-end}.confirm-btn{padding:10px 24px;border-radius:6px;font-size:.9rem;font-weight:500;border:none;cursor:pointer;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-width:90px}.confirm-btn-cancel{background:#fff;color:#6b7280;border:1px solid #d1d5db}.confirm-btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.confirm-btn-confirm{color:#fff}.confirm-btn-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.confirm-btn-info:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb66}.confirm-btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.confirm-btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #d9770666}.confirm-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.confirm-btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #dc262666}.confirm-warning .confirm-icon{filter:drop-shadow(0 2px 4px rgba(245,158,11,.3))}.confirm-danger .confirm-icon{filter:drop-shadow(0 2px 4px rgba(239,68,68,.3))}.confirm-info .confirm-icon{filter:drop-shadow(0 2px 4px rgba(59,130,246,.3))}@media (max-width: 768px){.confirm-dialog{max-width:100%;margin:0}.confirm-header{padding:20px 20px 12px}.confirm-title{font-size:1.1rem}.confirm-icon{font-size:1.75rem}.confirm-body{padding:0 20px 20px}.confirm-message{margin-left:0;font-size:.9rem}.confirm-footer{padding:12px 20px;flex-direction:column-reverse}.confirm-btn{width:100%}}.recycle-bin-page-new{padding:32px;max-width:100%;margin:0}.recycle-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-tab{cursor:pointer;transition:all .2s ease;text-align:center}.stat-tab.active{border:2px solid #3b82f6!important;box-shadow:0 4px 12px #3b82f633!important}.stat-value{font-size:32px;font-weight:700;color:#1e293b;line-height:1;margin-bottom:8px}.stat-label{font-size:13px;color:#64748b;font-weight:600}.search-wrapper:focus-within{border-color:#ef4444}@media (max-width: 768px){.recycle-bin-page-new{padding:16px}.recycle-stats{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:24px}}.org-tabs{display:flex;gap:.5rem;padding:1rem 2rem 0;background:#fff;border-bottom:2px solid #e2e8f0;margin-bottom:0}.org-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#64748b;text-decoration:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;position:relative}.org-tab:hover{color:#1e293b;background:#f8fafc80}.org-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.org-tab.active .tab-icon{color:#3b82f6}.org-tab.back-tab{color:#64748b;border-right:1px solid #e2e8f0;margin-right:.5rem;padding-right:1.5rem}.org-tab.back-tab:hover{color:#3b82f6;background:#f1f5f9}.tab-icon{display:flex;align-items:center;justify-content:center;color:inherit;transition:color .2s}.tab-label{font-weight:600;letter-spacing:-.01em}@media (max-width: 768px){.org-tabs{padding:1rem 1rem 0;overflow-x:auto;white-space:nowrap}.org-tab{padding:.75rem 1rem;font-size:.875rem}.tab-label{display:none}}.organization-list-page-new{padding:32px;max-width:100%;margin:0}.filter-select-new{border:1px solid #e2e8f0;outline:none;font-size:15px;color:#1e293b;background:#fff;padding:10px 12px;border-radius:6px;cursor:pointer;transition:border-color .2s ease}.filter-select-new:focus{border-color:#3b82f6}.organizations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.organization-card{transition:all .2s ease}.organization-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f!important}.organization-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.organization-actions button{justify-content:center}@media (max-width: 768px){.organization-list-page-new{padding:16px}.organizations-grid{grid-template-columns:1fr}}.department-list-page-new{padding:32px;max-width:100%;margin:0}.search-wrapper:focus-within{border-color:#8b5cf6}.departments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.department-card{transition:all .2s ease}.department-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f!important}.department-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.department-actions button{justify-content:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{position:relative;animation:modalFadeIn .2s ease}@media (max-width: 768px){.department-list-page-new{padding:16px}.departments-grid{grid-template-columns:1fr}}.user-list-page-new{padding:32px;max-width:100%;margin:0}.search-card{padding:16px!important}.search-wrapper{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.search-wrapper:focus-within{border-color:#3b82f6}.search-input-new{flex:1;border:none;outline:none;font-size:15px;color:#1e293b;background:transparent}.search-input-new::placeholder{color:#9ca3af}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.user-card{transition:all .2s ease}.user-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f!important}.user-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.user-actions button{justify-content:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;overflow-y:auto}.modal-content{position:relative;animation:modalFadeIn .2s ease;margin:auto}.user-create-modal{max-height:90vh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.user-create-modal::-webkit-scrollbar{width:8px}.user-create-modal::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.user-create-modal::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.user-create-modal::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.user-list-page-new{padding:16px}.users-grid{grid-template-columns:1fr}.modal-overlay{align-items:flex-start;padding:8px}.modal-content{margin:8px auto}.user-create-modal{max-height:calc(100vh - 16px);min-height:auto}}@media (max-width: 480px){.modal-overlay{padding:4px;align-items:flex-start}.modal-content{width:100%!important;margin:4px auto}.user-create-modal{max-height:calc(100vh - 8px);border-radius:8px}}.group-list-page{padding:2rem;max-width:1400px;margin:0 auto}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.group-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.group-subtitle{color:#64748b;margin:0}.btn-create-group{padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #f59e0b4d}.btn-create-group:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.btn-create-group:disabled{opacity:.5;cursor:not-allowed}.group-loading{text-align:center;padding:2rem;font-size:1.1rem;color:#64748b}.group-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;border:2px solid #e2e8f0}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2rem}.group-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:16px;padding:2rem;transition:all .3s;position:relative;overflow:hidden}.group-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f59e0b,#d97706,#fbbf24);opacity:0;transition:opacity .3s}.group-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f;border-color:#f59e0b}.group-card:hover:before{opacity:1}.group-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.group-card h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.group-code{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;font-size:.75rem;font-weight:600;color:#92400e}.group-status{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.group-status.status-active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #34d399}.group-status.status-inactive{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;border:1px solid #cbd5e1}.group-description{color:#64748b;font-size:.938rem;line-height:1.6;margin:0 0 1rem}.group-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;border:1px solid #fbbf24}.group-meta{margin-bottom:1.5rem;padding:1rem;background:#f8fafc80;border-radius:8px}.meta-item{display:flex;gap:.5rem}.meta-label{font-weight:600;color:#64748b;font-size:.875rem}.meta-value{color:#1e293b;font-size:.875rem}.group-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.btn-manage-users,.group-actions .btn-edit,.group-actions .btn-delete{padding:.625rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-manage-users{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b;grid-column:span 3}.btn-manage-users:hover{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.group-actions .btn-edit{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #3b82f6}.group-actions .btn-edit:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.group-actions .btn-delete{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#991b1b;border:1px solid #f87171}.group-actions .btn-delete:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.user-selection-list{max-height:400px;overflow-y:auto;border:2px solid #e2e8f0;border-radius:8px;padding:.5rem}.user-selection-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;cursor:pointer;transition:background .2s}.user-selection-item:hover{background:#f8fafc}.user-selection-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.user-selection-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.user-selection-info strong{color:#1e293b;font-size:.938rem}.user-selection-email{color:#64748b;font-size:.813rem}.role-selection-list{max-height:350px;overflow-y:auto;border:2px solid #e2e8f0;border-radius:8px;padding:.5rem;background:#fafafa}.role-selection-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;border-radius:6px;cursor:pointer;transition:background .2s;background:#fff;margin-bottom:.5rem;border:1px solid #e2e8f0}.role-selection-item:hover{background:#f8fafc;border-color:#cbd5e1}.role-selection-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin-top:2px;flex-shrink:0}.role-selection-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.role-selection-info strong{color:#1e293b;font-size:.938rem;font-weight:600}.role-selection-code{color:#f59e0b;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#fef3c7;padding:2px 6px;border-radius:4px;display:inline-block;margin-top:2px}.role-selection-description{color:#64748b;font-size:.813rem;line-height:1.4;margin-top:4px}@media (max-width: 768px){.group-list-page{padding:1rem}.group-header{flex-direction:column;align-items:flex-start;gap:1rem}.group-grid,.group-actions{grid-template-columns:1fr}.btn-manage-users{grid-column:span 1}}.role-list-page{padding:2rem;max-width:1400px;margin:0 auto}.role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.role-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.role-subtitle{color:#64748b;margin:0}.btn-create-role{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #6366f14d}.btn-create-role:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-create-role:disabled{opacity:.5;cursor:not-allowed}.role-loading{text-align:center;padding:2rem;font-size:1.1rem;color:#64748b}.loading-spinner{display:inline-block;font-size:2rem;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.role-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;border:2px solid #e2e8f0}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2rem}.role-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:16px;padding:2rem;transition:all .3s;position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#4f46e5,#818cf8);opacity:0;transition:opacity .3s}.role-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f;border-color:#6366f1}.role-card:hover:before{opacity:1}.role-card.system-role{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;position:relative}.role-card.system-role:before{background:linear-gradient(90deg,#f59e0b,#d97706,#fbbf24);opacity:1!important}.role-card.system-role:after{content:"🔒";position:absolute;top:1rem;right:1rem;font-size:1.5rem;opacity:.5}.role-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.role-card h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.role-code{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border:1px solid #a78bfa;border-radius:8px;font-size:.75rem;font-weight:600;color:#5b21b6;margin-right:.5rem}.system-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;font-size:.75rem;font-weight:600;color:#92400e}.role-description{color:#64748b;font-size:.938rem;line-height:1.6;margin:0 0 1rem}.role-stats{margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border-radius:8px;border:1px solid #a78bfa}.stat-item{display:flex;align-items:center;gap:.75rem}.stat-icon{font-size:1.5rem}.stat-value{font-size:1.5rem;font-weight:700;color:#1e293b;display:block}.stat-label{font-size:.75rem;color:#64748b;display:block}.role-permissions-preview{margin-bottom:1.5rem;padding:1rem;background:#f8fafc80;border-radius:8px}.role-permissions-preview strong{display:block;margin-bottom:.75rem;color:#475569;font-size:.875rem}.permission-chips{display:flex;flex-wrap:wrap;gap:.5rem}.permission-chip{padding:.375rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;color:#475569}.permission-chip.more{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border-color:#a78bfa;color:#5b21b6;font-weight:600}.role-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.role-actions:has(.btn-edit-dashboard){grid-template-columns:1fr}.role-actions .btn-edit,.role-actions .btn-delete,.role-actions .btn-edit-dashboard{padding:.625rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.role-actions .btn-edit{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);color:#5b21b6;border:1px solid #6366f1}.role-actions .btn-edit:hover{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.role-actions .btn-delete{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#991b1b;border:1px solid #f87171}.role-actions .btn-delete:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.role-actions .btn-edit-dashboard{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b;grid-column:1 / -1}.role-actions .btn-edit-dashboard:hover{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.system-role-note{padding:1rem;background:#fef3c780;border-radius:8px;font-size:.813rem;color:#92400e;text-align:center}.large-modal{max-width:900px!important;max-height:90vh;display:flex;flex-direction:column}.large-modal .modal-body{flex:1;overflow-y:auto}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #f1f5f9}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section h3{font-size:1.125rem;font-weight:700;color:#1e293b;margin:0 0 1.5rem}.section-header-with-filter{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.module-filter{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;font-weight:600;background:#fff}.module-filter:focus{outline:none;border-color:#6366f1}.permissions-grid{display:flex;flex-direction:column;gap:1.5rem}.permission-module{border:2px solid #e2e8f0;border-radius:12px;overflow:hidden}.module-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.module-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;margin:0}.module-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.module-count{padding:.375rem .75rem;background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border:1px solid #a78bfa;border-radius:8px;font-size:.75rem;font-weight:700;color:#5b21b6}.permission-submodule{border-bottom:1px solid #f1f5f9}.permission-submodule:last-child{border-bottom:none}.submodule-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.5rem;background:linear-gradient(135deg,#fafbfc,#f8fafc);border-left:4px solid #6366f1;margin-left:1rem;transition:all .2s}.submodule-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-left-color:#4f46e5}.submodule-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;margin:0}.submodule-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.submodule-name{font-size:.938rem;font-weight:600;color:#475569}.submodule-count{padding:.25rem .625rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.688rem;font-weight:700;color:#64748b}.permission-list{padding:1rem 1rem 1rem 3rem;display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;background:#fafbfc}.permission-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;cursor:pointer;transition:background .2s;margin:0}.permission-item:hover{background:#f8fafc}.permission-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin-top:.125rem;flex-shrink:0}.permission-info{flex:1;display:flex;flex-direction:column;gap:.375rem}.permission-info strong{color:#1e293b;font-size:.938rem}.permission-desc{color:#64748b;font-size:.813rem}.permission-category{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;align-self:flex-start}.permission-category.category-read{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #3b82f6}.permission-category.category-create{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #34d399}.permission-category.category-update{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.permission-category.category-delete{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#991b1b;border:1px solid #f87171}.permission-category.category-execute{background:linear-gradient(135deg,#e9d5ff,#ddd6fe);color:#6b21a8;border:1px solid #a78bfa}.permission-category.category-admin{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#9f1239;border:1px solid #f472b6}@media (max-width: 768px){.role-list-page{padding:1rem}.role-header{flex-direction:column;align-items:flex-start;gap:1rem}.role-grid{grid-template-columns:1fr}.large-modal{max-width:95%!important}.section-header-with-filter{flex-direction:column;align-items:flex-start;gap:1rem}.module-filter{width:100%}}.invitation-management-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0 0 .5rem;font-size:2rem;color:#1f2937}.page-header p{margin:0;color:#6b7280}.filters{display:flex;gap:.5rem;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:8px}.filters button{padding:.5rem 1rem;border:2px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.filters button:hover{border-color:#3b82f6;background:#eff6ff}.filters button.active{border-color:#3b82f6;background:#3b82f6;color:#fff}.invitations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.invitation-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s}.invitation-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.invitation-card.pending{border-left:4px solid #f59e0b}.invitation-card.accepted{border-left:4px solid #10b981}.invitation-card.expired{border-left:4px solid #6b7280;opacity:.7}.invitation-card.revoked{border-left:4px solid #ef4444;opacity:.7}.invitation-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.invitation-header h3{margin:0 0 .5rem;font-size:1.1rem;color:#1f2937}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.accepted{background:#d1fae5;color:#065f46}.status-badge.expired{background:#f3f4f6;color:#4b5563}.status-badge.revoked{background:#fee2e2;color:#991b1b}.invitation-body{margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem}.info-row .label{color:#6b7280;font-weight:500}.info-row .value{color:#1f2937}.invitation-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#374151;border:2px solid #e5e7eb;border-radius:8px;font-weight:600;cursor:pointer}.btn-danger{padding:.5rem 1rem;background:#fff;color:#ef4444;border:2px solid #fee2e2;border-radius:6px;font-weight:600;cursor:pointer}.btn-danger:hover{background:#fee2e2}.btn-small{padding:.5rem 1rem;font-size:.85rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.5rem}.close-btn{background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;line-height:32px}.close-btn:hover{color:#374151}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6}.form-group small{display:block;margin-top:.25rem;color:#6b7280;font-size:.85rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:#374151}.empty-state p{margin:0;color:#6b7280}.loading{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.user-profile-page{min-height:100vh;background:#f8fafc;padding-bottom:40px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:20px;padding:40px}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state svg{color:#ef4444}.error-state h2{margin:0;color:#1e293b}.error-state p{margin:0;color:#64748b}.btn-retry{margin-top:10px;padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.btn-retry:hover{background:#2563eb}.profile-header{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:40px 24px;box-shadow:0 4px 12px #3b82f633}.profile-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:24px}.profile-avatar{width:100px;height:100px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 24px #0003;flex-shrink:0}.profile-header-info h1{margin:0 0 8px;font-size:32px;font-weight:700}.profile-email{margin:0 0 16px;font-size:16px;opacity:.9}.profile-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;white-space:nowrap}.badge-platform-admin{background:#8b5cf633;color:#fff;border:1px solid rgba(255,255,255,.3)}.badge-org-admin{background:#10b98133;color:#fff;border:1px solid rgba(255,255,255,.3)}.badge-status{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.badge-active{background:#10b98133!important}.profile-content{max-width:1200px;margin:-20px auto 0;padding:0 24px;display:flex;flex-direction:column;gap:24px}.profile-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.card-header svg{color:#3b82f6;flex-shrink:0}.card-header h2{margin:0;font-size:18px;font-weight:700;color:#1e293b}.card-body{padding:24px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.info-item{display:flex;flex-direction:column;gap:8px}.info-item label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.info-item label svg{color:#94a3b8}.info-item span{font-size:15px;color:#1e293b;font-weight:500}.text-mono{font-family:Monaco,Courier New,monospace;font-size:13px!important;color:#64748b!important}.roles-section,.groups-section{margin-bottom:24px}.roles-section:last-child,.groups-section:last-child{margin-bottom:0}.roles-section h3,.groups-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.role-chips,.group-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600}.chip-role{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.chip-role svg{color:#3b82f6}.chip-group{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.chip-group svg{color:#10b981}.empty-message{color:#94a3b8;font-style:italic;margin:0}.role-list,.group-list{display:flex;flex-direction:column;gap:12px}.role-item,.group-item{padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.role-item:hover,.group-item:hover{background:#eff6ff;border-color:#bfdbfe}.role-header,.group-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.role-header svg,.group-header svg{color:#3b82f6;flex-shrink:0}.role-name,.group-name{font-size:15px;font-weight:700;color:#1e293b;flex:1}.role-permissions{font-size:12px;font-weight:600;color:#64748b;padding:4px 10px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.role-description,.group-description{margin:0;font-size:13px;color:#64748b;line-height:1.5}.report-config-section{margin-bottom:24px}.report-config-section:last-child{margin-bottom:0}.report-config-section h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:700;color:#1e293b}.report-config-section h3 svg{color:#3b82f6}.report-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.config-item{display:flex;flex-direction:column;gap:6px}.config-item-full{grid-column:1 / -1}.config-item label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.config-item label svg{color:#94a3b8}.config-value{font-size:15px;font-weight:600;color:#1e293b}.period-display{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.period-label{font-size:15px;font-weight:700;color:#1e293b}.period-dates{font-size:13px;color:#64748b}.divider{height:1px;background:#e2e8f0;margin:24px 0}.config-note{display:flex;gap:12px;padding:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:20px}.config-note svg{color:#3b82f6;flex-shrink:0;margin-top:2px}.config-note p{margin:0;font-size:14px;color:#1e40af;line-height:1.6}.permissions-summary{padding:16px;background:#f8fafc;border-radius:8px;margin-bottom:24px}.permissions-summary p{margin:0;color:#475569;font-size:15px}.permissions-summary strong{color:#1e293b;font-weight:700}.permissions-modules{display:flex;flex-direction:column;gap:24px}.permission-module{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.module-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.module-header svg{color:#10b981;flex-shrink:0}.module-header h3{margin:0;flex:1;font-size:15px;font-weight:700;color:#1e293b}.permission-count{padding:4px 10px;background:#e2e8f0;color:#475569;font-size:12px;font-weight:700;border-radius:12px}.permission-list{padding:8px;display:grid;gap:1px;background:#e2e8f0}.permission-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff}.check-icon{color:#10b981;flex-shrink:0}.permission-details{display:flex;flex-direction:column;gap:2px;flex:1}.permission-name{font-size:14px;color:#1e293b;font-weight:500}.permission-code{font-size:12px;color:#94a3b8;font-family:Monaco,Courier New,monospace}.empty-permissions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.empty-permissions svg{color:#cbd5e1}.empty-permissions p{margin:0;color:#94a3b8;font-size:15px}.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.capability-item{display:flex;align-items:center;gap:10px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#475569;transition:all .2s}.capability-item:hover{background:#eff6ff;border-color:#bfdbfe}.capability-icon{color:#10b981;flex-shrink:0}.capability-more{background:#eff6ff;border-color:#bfdbfe;color:#1e40af;font-weight:600;justify-content:center}@media (max-width: 768px){.profile-header{padding:24px 16px}.profile-header-content{flex-direction:column;text-align:center}.profile-avatar{width:80px;height:80px;font-size:32px}.profile-header-info h1{font-size:24px}.profile-badges{justify-content:center}.profile-content{padding:0 16px}.info-grid{grid-template-columns:1fr;gap:16px}.capabilities-grid{grid-template-columns:1fr}.card-header,.card-body{padding:16px}}.cognito-login-wrapper{display:flex;min-height:100vh;background-color:#f3f4f6}.cognito-branding-section{flex:1;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;color:#fff}.cognito-branding-icon{margin-bottom:20px}.cognito-branding-title{font-size:48px;margin:0 0 20px;font-weight:700}.cognito-branding-subtitle{font-size:20px;opacity:.9;text-align:center;max-width:500px}.cognito-features-list{margin-top:40px;font-size:14px;opacity:.9}.cognito-feature-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cognito-feature-item:last-child{margin-bottom:0}.cognito-form-section{flex:1;display:flex;justify-content:center;align-items:center;padding:60px}.cognito-form-container{background-color:#fff;padding:48px;border-radius:16px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:450px}.cognito-form-header{font-size:28px;font-weight:700;margin-bottom:12px;color:#1f2937}.cognito-form-description{color:#6b7280;margin-bottom:32px;font-size:15px}.cognito-error-message{padding:14px;background-color:#fef2f2;border:2px solid #fca5a5;border-radius:8px;margin-bottom:24px;display:flex;align-items:flex-start;gap:10px}.cognito-error-title{color:#dc2626;display:block;margin-bottom:4px;font-weight:600}.cognito-error-text{color:#991b1b;font-size:13px;margin:0}.cognito-buttons-container{display:flex;flex-direction:column;gap:12px}.cognito-oauth-button{width:100%;padding:14px 20px;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s}.cognito-oauth-button:hover{transform:translateY(-1px)}.cognito-oauth-button.google:hover{border-color:#dc2626;background-color:#fef2f2}.cognito-oauth-button.microsoft:hover{border-color:#0284c7;background-color:#f0f9ff}.cognito-divider{display:flex;align-items:center;margin:28px 0}.cognito-divider-line{flex:1;height:1px;background-color:#e5e7eb}.cognito-divider-text{padding:0 16px;color:#9ca3af;font-size:13px}.cognito-primary-button{width:100%;padding:14px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s}.cognito-primary-button:hover{transform:translateY(-2px)}@media (max-width: 768px){.cognito-login-wrapper{flex-direction:column}.cognito-branding-section{padding:24px 20px;min-height:auto;position:relative}.cognito-branding-icon{margin-bottom:12px}.cognito-branding-title{font-size:28px;margin:0 0 8px}.cognito-branding-subtitle{font-size:14px;margin-bottom:16px}.cognito-features-list{margin-top:16px;display:flex;gap:20px;overflow-x:auto;padding-bottom:8px;padding-right:20px;width:100%;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;position:relative}.cognito-branding-section:after{content:"";position:absolute;right:0;bottom:40px;width:40px;height:40px;background:linear-gradient(to left,rgba(102,126,234,1),transparent);pointer-events:none}.cognito-features-list::-webkit-scrollbar{height:4px}.cognito-features-list::-webkit-scrollbar-track{background:transparent}.cognito-features-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.cognito-feature-item{margin-bottom:0;white-space:nowrap;font-size:12px;flex-shrink:0}.cognito-form-section{padding:24px 20px;min-height:auto}.cognito-form-container{padding:32px 24px;box-shadow:0 4px 12px #0000001a}.cognito-form-header{font-size:24px}.cognito-form-description{font-size:14px;margin-bottom:24px}.cognito-oauth-button,.cognito-primary-button{padding:12px 16px;font-size:14px}}@media (max-width: 480px){.cognito-branding-title{font-size:24px}.cognito-branding-subtitle{font-size:13px}.cognito-features-list{gap:16px}.cognito-feature-item{font-size:11px}.cognito-form-container{padding:24px 20px}.cognito-form-header{font-size:22px}}.invitation-signup-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.signup-card{background:#fff;border-radius:20px;padding:3rem;max-width:600px;width:100%;box-shadow:0 20px 50px #0003}.signup-card.error-card{text-align:center}.signup-header{text-align:center;margin-bottom:2rem}.logo{display:block;width:min(100%,360px);height:auto;margin:0 auto 1rem}.signup-header h1{margin:0 0 .5rem;font-size:2rem;color:#1f2937}.signup-header p{margin:0;color:#6b7280;font-size:1.1rem}.invitation-details{background:#f9fafb;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#1f2937;font-weight:600}.custom-message{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.custom-message p{margin:0;color:#4b5563;font-style:italic}.signup-methods h3{margin:0 0 1.5rem;font-size:1.2rem;color:#374151;text-align:center}.sso-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.sso-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.sso-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.sso-btn:disabled{opacity:.5;cursor:not-allowed}.sso-btn.google{color:#dc2626}.sso-btn.google:hover:not(:disabled){border-color:#dc2626;background:#fef2f2}.sso-btn.microsoft{color:#0284c7}.sso-btn.microsoft:hover:not(:disabled){border-color:#0284c7;background:#f0f9ff}.sso-btn .icon{font-size:1.5rem}.divider{display:flex;align-items:center;margin:1.5rem 0;text-align:center}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #e5e7eb}.divider span{padding:0 1rem;color:#9ca3af;font-weight:600;font-size:.9rem}.signup-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#374151;font-size:.95rem}.form-group input{padding:.875rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#3b82f6}.terms-checkbox{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#eff6ff;border-radius:8px}.terms-checkbox input[type=checkbox]{margin-top:.25rem;cursor:pointer}.terms-checkbox label{font-size:.9rem;color:#374151;cursor:pointer}.terms-checkbox a{color:#3b82f6;text-decoration:none;font-weight:600}.terms-checkbox a:hover{text-decoration:underline}.btn-block{width:100%;padding:1rem;font-size:1.05rem}.signup-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb}.signup-footer p{margin:0;color:#6b7280}.signup-footer a{color:#3b82f6;text-decoration:none;font-weight:600}.signup-footer a:hover{text-decoration:underline}.error-card{text-align:center;padding:3rem}.error-icon{font-size:4rem;margin-bottom:1rem}.error-card h2{margin:0 0 1rem;color:#ef4444}.error-card p{margin:0 0 2rem;color:#6b7280}.spinner{display:flex;justify-content:center;margin-bottom:1rem}@media (max-width: 640px){.signup-card{padding:2rem 1.5rem}.signup-header h1{font-size:1.5rem}.logo{width:min(100%,280px)}}.welcome-wizard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:2rem}.welcome-wizard-container{background:#fff;border-radius:20px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #0000004d}.wizard-progress{display:flex;justify-content:space-between;padding:2rem 3rem 1rem;border-bottom:2px solid #f3f4f6}.progress-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.progress-step:after{content:"";position:absolute;top:20px;left:50%;width:100%;height:2px;background:#e5e7eb;z-index:-1}.progress-step:last-child:after{display:none}.progress-step.completed:after{background:#10b981}.progress-circle{width:40px;height:40px;border-radius:50%;background:#f3f4f6;color:#9ca3af;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:1.1rem;border:3px solid #e5e7eb;transition:all .3s}.progress-step.active .progress-circle{background:#3b82f6;color:#fff;border-color:#3b82f6;transform:scale(1.1)}.progress-step.completed .progress-circle{background:#10b981;color:#fff;border-color:#10b981}.progress-label{font-size:.85rem;color:#6b7280;font-weight:500;text-align:center}.progress-step.active .progress-label{color:#1f2937;font-weight:600}.wizard-content{padding:3rem;min-height:400px}.welcome-step h2{margin:0 0 1rem;font-size:2rem;color:#1f2937;text-align:center}.welcome-message{text-align:center;font-size:1.1rem;color:#4b5563;margin-bottom:2rem}.user-info-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:2rem;color:#fff}.info-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0}.info-item .icon{font-size:1.5rem}.info-item .value{font-size:1.1rem;font-weight:500}.info-step h2{margin:0 0 2rem;font-size:1.75rem;color:#1f2937;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.feature-card{text-align:center;padding:1.5rem;background:#f9fafb;border-radius:12px;transition:all .2s}.feature-card:hover{background:#eff6ff;transform:translateY(-4px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{margin:0 0 .5rem;font-size:1.1rem;color:#1f2937}.feature-card p{margin:0;font-size:.9rem;color:#6b7280}.tips-step h2{margin:0 0 2rem;font-size:1.75rem;color:#1f2937;text-align:center}.tips-list{display:flex;flex-direction:column;gap:1.5rem}.tip-item{display:flex;gap:1.5rem;align-items:flex-start}.tip-number{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:1.2rem;flex-shrink:0}.tip-content h4{margin:0 0 .5rem;color:#1f2937;font-size:1.1rem}.tip-content p{margin:0;color:#6b7280;line-height:1.5}.wizard-navigation{display:flex;justify-content:space-between;align-items:center;padding:2rem 3rem;border-top:2px solid #f3f4f6}.btn-text{background:none;border:none;color:#6b7280;font-weight:600;cursor:pointer;padding:.5rem 1rem}.btn-text:hover{color:#374151;text-decoration:underline}.nav-buttons{display:flex;gap:1rem}.btn-primary{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{padding:.75rem 2rem;background:#fff;color:#374151;border:2px solid #e5e7eb;border-radius:8px;font-weight:600;cursor:pointer}.btn-secondary:hover{border-color:#3b82f6;background:#eff6ff}@media (max-width: 768px){.wizard-progress{padding:1.5rem 1rem}.progress-label{font-size:.7rem}.wizard-content{padding:2rem 1.5rem}.features-grid{grid-template-columns:1fr}.wizard-navigation{padding:1.5rem;flex-direction:column;gap:1rem}.nav-buttons{width:100%}.btn-primary,.btn-secondary{flex:1}}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.app{min-height:100vh;background:#f8f9fa}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{padding:1.5rem;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.25rem;color:#2c3e50}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;padding:0;width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#ecf0f1;color:#2c3e50}.modal-body{padding:1.5rem}.modal-footer{padding:1.5rem;border-top:1px solid #ecf0f1;display:flex;gap:.75rem;justify-content:flex-end}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500;font-size:.875rem}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #dce4ec;border-radius:6px;font-size:.938rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3498db}.form-group textarea{resize:vertical;min-height:80px}.btn-cancel{padding:.75rem 1.5rem;background:#ecf0f1;color:#2c3e50;border:none;border-radius:6px;font-size:.938rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:#dce4ec}.btn-draft{padding:.75rem 1.5rem;background:#f39c12;color:#fff;border:none;border-radius:6px;font-size:.938rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-draft:hover{background:#e67e22}.btn-publish{padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:6px;font-size:.938rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-publish:hover{background:#229954}@media (max-width: 768px){.app-header{flex-direction:column;align-items:stretch}.app-header h1,.view-tabs,.mode-selector,.btn-save-form{order:unset;margin-left:0;justify-content:center;text-align:center}.view-tabs{justify-content:center}.modal-content{max-width:100%}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh}:root{--color-primary-50: #EFF6FF;--color-primary-100: #DBEAFE;--color-primary-200: #BFDBFE;--color-primary-300: #93C5FD;--color-primary-400: #60A5FA;--color-primary-500: #3B82F6;--color-primary-600: #2563EB;--color-primary-700: #1D4ED8;--color-primary-800: #1E40AF;--color-primary-900: #1E3A8A;--color-success-50: #ECFDF5;--color-success-100: #D1FAE5;--color-success-500: #10B981;--color-success-600: #059669;--color-success-700: #047857;--color-warning-50: #FEF3C7;--color-warning-100: #FDE68A;--color-warning-500: #F59E0B;--color-warning-600: #D97706;--color-warning-700: #B45309;--color-error-50: #FEE2E2;--color-error-100: #FECACA;--color-error-500: #EF4444;--color-error-600: #DC2626;--color-error-700: #B91C1C;--color-info-50: #EFF6FF;--color-info-100: #DBEAFE;--color-info-500: #3B82F6;--color-info-600: #2563EB;--color-info-700: #1D4ED8;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--bg-primary: #FFFFFF;--bg-secondary: #F9FAFB;--bg-tertiary: #F3F4F6;--text-primary: #111827;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--text-inverse: #FFFFFF;--border-light: #F3F4F6;--border-base: #E5E7EB;--border-strong: #D1D5DB;--brand-primary: var(--color-primary-500);--brand-secondary: var(--color-primary-600);--brand-accent: var(--color-warning-500);--brand-neutral: var(--color-gray-500);--brand-primary-50: var(--color-primary-50);--brand-primary-100: var(--color-primary-100);--brand-primary-200: var(--color-primary-200);--brand-primary-300: var(--color-primary-300);--brand-primary-400: var(--color-primary-400);--brand-primary-500: var(--color-primary-500);--brand-primary-600: var(--color-primary-600);--brand-primary-700: var(--color-primary-700);--brand-primary-800: var(--color-primary-800);--brand-primary-900: var(--color-primary-900);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-mono: "Fira Code", "SF Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0em;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-base: .5rem;--radius-md: .625rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-2xl: 0 30px 60px -15px rgba(0, 0, 0, .3);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-overlay: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--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);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--touch-target-min: 44px;--container-max-width: 1400px;--sidebar-width: 260px;--sidebar-width-collapsed: 64px;--header-height: 64px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width: 768px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}.mobile-only{display:block}.desktop-only{display:none}@media (min-width: 768px){.mobile-only{display:none}.desktop-only{display:block}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}
