.ripple-container{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none;border-radius:inherit}.ripple{position:absolute;border-radius:50%;background-color:#fff9;transform:scale(0);animation:ripple-animation .6s ease-out;pointer-events:none}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}.ripple-button{position:relative;overflow:hidden;cursor:pointer;transition:all .2s ease}.ripple-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.ripple-button:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.success-checkmark{display:inline-flex;align-items:center;justify-content:center}.success-checkmark__svg{width:100%;height:100%}.success-checkmark__circle{stroke:var(--color-success, #22c55e);stroke-width:2;stroke-linecap:round}.success-checkmark__check{stroke:var(--color-success, #22c55e);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.error-icon{display:inline-flex;align-items:center;justify-content:center}.error-icon__svg{width:100%;height:100%}.error-icon__circle{stroke:var(--color-danger, #ef4444);stroke-width:2;stroke-linecap:round}.error-icon__cross{stroke:var(--color-danger, #ef4444);stroke-width:3;stroke-linecap:round}.error-shake,.pulsing-dot{display:inline-block}.interactive-button{position:relative;overflow:hidden;padding:10px 20px;border:none;border-radius:var(--radius-sm, 6px);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;outline:none}.interactive-button__content{display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.interactive-button--primary{background:var(--color-primary, #007bff);color:#fff}.interactive-button--primary:hover:not(:disabled){background:var(--color-primary-hover, #0056b3)}.interactive-button--secondary{background:var(--color-surface-alt, #f5f5f5);color:var(--color-text, #333);border:1px solid var(--color-border, #ddd)}.interactive-button--secondary:hover:not(:disabled){background:var(--color-surface, #fff);border-color:var(--color-primary, #007bff)}.interactive-button--success{background:var(--color-success, #22c55e);color:#fff}.interactive-button--danger{background:var(--color-danger, #ef4444);color:#fff}.interactive-button--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.interactive-button--loading .interactive-button__text--hidden{opacity:0;position:absolute}.interactive-button__spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spinner-animation .6s linear infinite}@keyframes spinner-animation{to{transform:rotate(360deg)}}.interactive-button__checkmark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:16px;animation:checkmark-pop .3s ease}@keyframes checkmark-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.interactive-button__error-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:16px;animation:error-pop .3s ease}@keyframes error-pop{0%{transform:scale(0) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg)}}.animated-progress{display:flex;align-items:center;gap:12px;width:100%}.animated-progress__track{flex:1;height:8px;background:var(--color-surface-alt, #f5f5f5);border-radius:4px;overflow:hidden;position:relative}.animated-progress__fill{height:100%;background:linear-gradient(90deg,var(--color-primary, #007bff),var(--color-primary-hover, #0056b3));border-radius:4px;position:relative;overflow:hidden}.animated-progress__fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shimmer 1.5s infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animated-progress__label{font-size:14px;font-weight:500;color:var(--color-text, #333);min-width:40px;text-align:right}.hover-card{transition:all .2s ease}.hover-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.hover-button{transition:all .2s ease;transform-origin:center}.hover-button:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px #00000026}.hover-button:active:not(:disabled){transform:scale(.98)}.hover-icon{transition:all .2s ease;cursor:pointer}.hover-icon:hover{transform:scale(1.15);color:var(--color-primary, #007bff)}.hover-link{position:relative;transition:color .2s ease}.hover-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-primary, #007bff);transition:width .2s ease}.hover-link:hover{color:var(--color-primary, #007bff)}.hover-link:hover:after{width:100%}.focus-input{transition:all .2s ease}.focus-input:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 3px #007bff1a;transform:scale(1.01)}@media (prefers-reduced-motion: reduce){.ripple,.ripple-animation,.interactive-button,.hover-card,.hover-button,.hover-icon,.hover-link,.focus-input,.animated-progress__fill:after{animation:none!important;transition:none!important}.hover-card:hover,.hover-button:hover,.hover-icon:hover{transform:none!important}.interactive-button,.hover-link{transition:opacity .1s ease!important}}@media (prefers-contrast: high){.interactive-button{border:2px solid currentColor}.success-checkmark__circle,.success-checkmark__check,.error-icon__circle,.error-icon__cross{stroke-width:3}}.interactive-button:focus-visible,.ripple-button:focus-visible{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}@media (prefers-color-scheme: dark){.ripple{background-color:#ffffff4d}.interactive-button--secondary{background:var(--color-surface-alt, #2d2d2d);color:var(--color-text, #e0e0e0);border-color:var(--color-border, #3d3d3d)}.interactive-button--secondary:hover:not(:disabled){background:var(--color-surface, #1e1e1e)}.animated-progress__track{background:var(--color-surface-alt, #2d2d2d)}.animated-progress__label{color:var(--color-text, #e0e0e0)}}@media print{.ripple-container,.interactive-button__spinner,.pulsing-dot{display:none!important}.interactive-button,.hover-card,.hover-button{transform:none!important;box-shadow:none!important}}@media (max-width: 768px){.interactive-button{min-height:44px;padding:12px 20px}.hover-card:hover,.hover-button:hover,.hover-icon:hover{transform:scale(1.01)}}@media (min-width: 769px) and (max-width: 1024px){.interactive-button{min-height:42px}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-line,.skeleton-circle,.skeleton-image{background:linear-gradient(90deg,var(--color-surface-alt, #f0f0f0) 0%,var(--color-border, #e0e0e0) 20%,var(--color-surface-alt, #f0f0f0) 40%,var(--color-surface-alt, #f0f0f0) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm, 4px);display:block}.skeleton-circle{border-radius:50%}.skeleton-line{margin-bottom:var(--space-2, 8px)}.skeleton-card{display:flex;gap:var(--space-3, 12px);padding:var(--space-4, 16px);background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-3, 12px)}.skeleton-card__avatar{flex-shrink:0}.skeleton-card__content{flex:1;min-width:0}.skeleton-card__title{margin-bottom:var(--space-3, 12px)}.skeleton-card__line{margin-bottom:var(--space-2, 8px)}.skeleton-card__line:last-child{margin-bottom:0}.skeleton-session-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);padding:var(--space-4, 16px);margin-bottom:var(--space-3, 12px)}.skeleton-session-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3, 12px)}.skeleton-session-card__body{margin-bottom:var(--space-3, 12px)}.skeleton-session-card__body .skeleton-line{margin-bottom:var(--space-2, 8px)}.skeleton-session-card__footer{display:flex;justify-content:space-between;align-items:center}.skeleton-session-list{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.skeleton-table{width:100%;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);overflow:hidden}.skeleton-table__header{display:grid;gap:var(--space-3, 12px);padding:var(--space-3, 12px);background:var(--color-surface-alt, #f5f5f5);border-bottom:1px solid var(--color-border, #e0e0e0)}.skeleton-table__body{padding:var(--space-3, 12px)}.skeleton-table__row{display:grid;gap:var(--space-3, 12px);padding:var(--space-3, 12px);border-bottom:1px solid var(--color-border, #e0e0e0)}.skeleton-table__row:last-child{border-bottom:none}.skeleton-table__header,.skeleton-table__row{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.skeleton-form-field{margin-bottom:var(--space-4, 16px)}.skeleton-form-field__label{margin-bottom:var(--space-2, 8px)}.skeleton-form-field__input{margin-bottom:0}.skeleton-form{padding:var(--space-4, 16px)}.skeleton-form__button{margin-top:var(--space-4, 16px);border-radius:var(--radius-sm, 4px)}.skeleton-text-block{padding:var(--space-2, 8px) 0}.skeleton-text-block .skeleton-line{margin-bottom:var(--space-2, 8px)}.skeleton-panel{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);padding:var(--space-4, 16px)}.skeleton-panel__header{padding-bottom:var(--space-3, 12px);border-bottom:1px solid var(--color-border, #e0e0e0);margin-bottom:var(--space-4, 16px)}.skeleton-button{border-radius:var(--radius-sm, 4px);display:inline-block;min-height:40px;min-width:80px}.skeleton-image{border-radius:var(--radius-md, 8px);overflow:hidden}.skeleton-list-item{display:flex;align-items:center;gap:var(--space-3, 12px);padding:var(--space-3, 12px);border-bottom:1px solid var(--color-border, #e0e0e0)}.skeleton-list-item:last-child{border-bottom:none}.skeleton-list-item__content{flex:1;min-width:0}.skeleton-list{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);overflow:hidden}.skeleton-dashboard-grid{display:grid;gap:var(--space-4, 16px);grid-template-columns:repeat(2,1fr)}@media (max-width: 768px){.skeleton-dashboard-grid{grid-template-columns:1fr}}.skeleton-modal{background:var(--color-surface, #fff);border-radius:var(--radius-md, 8px);overflow:hidden}.skeleton-modal__header{padding:var(--space-4, 16px);border-bottom:1px solid var(--color-border, #e0e0e0)}.skeleton-modal__body{padding:var(--space-4, 16px)}.skeleton-modal__footer{padding:var(--space-4, 16px);border-top:1px solid var(--color-border, #e0e0e0);display:flex;justify-content:flex-end;gap:var(--space-2, 8px)}.skeleton-pulse .skeleton-line,.skeleton-pulse .skeleton-circle,.skeleton-pulse .skeleton-image{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--color-surface-alt, #f0f0f0)}@media (prefers-color-scheme: dark){.skeleton-line,.skeleton-circle,.skeleton-image{background:linear-gradient(90deg,var(--color-surface-alt, #2d2d2d) 0%,var(--color-border, #3d3d3d) 20%,var(--color-surface-alt, #2d2d2d) 40%,var(--color-surface-alt, #2d2d2d) 100%)}.skeleton-card,.skeleton-session-card,.skeleton-table,.skeleton-panel,.skeleton-list,.skeleton-modal{background:var(--color-surface, #1e1e1e);border-color:var(--color-border, #3d3d3d)}.skeleton-table__header{background:var(--color-surface-alt, #2d2d2d)}}@media (prefers-reduced-motion: reduce){.skeleton-line,.skeleton-circle,.skeleton-image{animation:none;background:var(--color-surface-alt, #f0f0f0)}.skeleton-pulse .skeleton-line,.skeleton-pulse .skeleton-circle,.skeleton-pulse .skeleton-image{animation:none}}@media (prefers-contrast: high){.skeleton-line,.skeleton-circle,.skeleton-image{border:1px solid currentColor}}@media print{.skeleton-line,.skeleton-circle,.skeleton-card,.skeleton-session-card,.skeleton-table,.skeleton-form,.skeleton-panel,.skeleton-list,.skeleton-dashboard-grid,.skeleton-modal{display:none!important}}@media (max-width: 480px){.skeleton-card,.skeleton-session-card,.skeleton-panel,.skeleton-modal{padding:var(--space-3, 12px)}.skeleton-table__header,.skeleton-table__row{padding:var(--space-2, 8px);gap:var(--space-2, 8px)}}.skeleton-container{padding:var(--space-4, 16px);min-height:200px;display:flex;flex-direction:column;justify-content:center}[aria-busy=true]{pointer-events:none;-webkit-user-select:none;user-select:none}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:998}.mobile-menu-overlay--open{opacity:1;visibility:visible}.mobile-menu-drawer{position:fixed;top:0;left:0;bottom:0;width:85%;max-width:320px;background-color:var(--color-background, #ffffff);box-shadow:4px 0 12px #00000026;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:999;display:flex;flex-direction:column;overflow:hidden}.mobile-menu-drawer--open{transform:translate(0)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e7eb);background-color:var(--color-surface, #f9fafb);flex-shrink:0}.mobile-menu-title{font-size:18px;font-weight:600;color:var(--color-text, #1f2937);margin:0}.mobile-menu-close{background:transparent;border:none;color:var(--color-text-soft, #6b7280);font-size:20px;padding:8px;cursor:pointer;border-radius:6px;transition:background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.mobile-menu-close:hover{background-color:var(--color-surface-hover, #f3f4f6);color:var(--color-text, #1f2937)}.mobile-menu-close:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.mobile-menu-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;-webkit-overflow-scrolling:touch}.mobile-menu-actions{margin-bottom:24px}.mobile-menu-actions .btn{min-height:44px;font-size:15px;font-weight:500}.mobile-menu-sessions{margin-top:8px}.mobile-menu-section-title{font-size:14px;font-weight:600;color:var(--color-text-soft, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;padding:0 4px}@media (min-width: 768px){.mobile-menu-overlay,.mobile-menu-drawer{display:none!important}}@media (max-width: 767px){.mobile-menu-drawer{width:90%;max-width:340px}.mobile-menu-close{min-width:44px;min-height:44px}.mobile-menu-content{scroll-behavior:smooth}}@media (max-width: 480px){.mobile-menu-drawer{transition:transform .25s cubic-bezier(.4,0,.2,1)}}@media (prefers-color-scheme: dark){.mobile-menu-drawer{background-color:var(--color-background-dark, #1f2937)}.mobile-menu-header{background-color:var(--color-surface-dark, #374151);border-bottom-color:var(--color-border-dark, #4b5563)}.mobile-menu-title{color:var(--color-text-dark, #f9fafb)}.mobile-menu-close{color:var(--color-text-soft-dark, #d1d5db)}.mobile-menu-close:hover{background-color:var(--color-surface-hover-dark, #4b5563);color:var(--color-text-dark, #f9fafb)}.mobile-menu-section-title{color:var(--color-text-soft-dark, #9ca3af)}.mobile-menu-overlay{background-color:#000000b3}}.teams-overview-modal{animation:fadeInScale .25s ease}.teams-overview__controls input{border:1px solid var(--color-border);padding:6px 8px;border-radius:6px;background:var(--color-surface-alt);color:var(--color-text)}[data-theme=dark] .teams-overview__controls input{background:#ffffff14;border-color:#ffffff2e;color:var(--color-text)}.teams-overview__controls input:focus{outline:2px solid var(--color-primary-soft);outline-offset:2px}.teams-overview__cards .team-card{transition:background .25s,border-color .25s,box-shadow .25s}.teams-overview__cards .team-card:hover{box-shadow:0 4px 18px -4px #00000040}[data-theme=dark] .teams-overview__cards .team-card{background:#ffffff0a;border-color:#ffffff1a}[data-theme=dark] .teams-overview__cards .team-card:hover{background:#ffffff0f;border-color:#ffffff26}.teams-overview__cards table th{background:var(--color-surface)}[data-theme=dark] .teams-overview__cards table th{background:#ffffff12}[data-theme=dark] .teams-overview__cards table td{color:var(--color-text-soft)}.teams-overview-modal h2{font-size:1.55rem;letter-spacing:.5px}[data-theme=dark] .teams-overview-modal h2{color:var(--color-text)}[data-theme=dark] .teams-overview__team-title{color:var(--color-text)!important}@keyframes fadeInScale{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.team-admin-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px;color:var(--color-text)}[data-theme=dark] .team-admin-panel{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:0 10px 40px -5px #00000073}.team-admin__subtitle{font-size:13px;color:var(--color-text-soft)}.team-admin__list-item{border-bottom:1px solid var(--color-border)}.team-admin__badge-leader{background:var(--color-primary);color:#fff;font-size:11px;padding:2px 6px;border-radius:12px}.team-admin__warning{background:#fff3cd;border:1px solid #ffeeba;color:#856404}[data-theme=dark] .team-admin__warning{background:#d977062e;border-color:#d9770659;color:#f59e0b}.team-admin-panel input,.team-admin-panel select,.team-admin-panel textarea{border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);border-radius:6px;padding:6px 8px}[data-theme=dark] .team-admin-panel input,[data-theme=dark] .team-admin-panel select,[data-theme=dark] .team-admin-panel textarea{background:#ffffff14;border-color:#ffffff2e;color:var(--color-text)}.team-admin-panel button{border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);padding:6px 10px;border-radius:6px;cursor:pointer}.team-admin-panel button:hover{filter:brightness(1.05)}[data-theme=dark] .team-admin-panel button{background:#ffffff14;border-color:#ffffff2e;color:var(--color-text)}input[type=password].login-pass-input::-ms-reveal{display:none!important}input[type=text].login-pass-input::-ms-clear{display:none!important}input[type=password].login-pass-input::-webkit-textfield-decoration-container{display:none!important}.btn-toggle-pass:hover{color:var(--color-text)}[data-theme=dark] .session-history-field-wrapper{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:4px;position:relative}.session-history-field-wrapper{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;padding:4px;position:relative}.session-history-field{width:100%;min-height:200px;max-height:420px;resize:vertical;border:none;background:transparent;padding:10px;font-size:13px;font-family:var(--font-family-base);color:var(--color-text)}.session-history-field:focus{outline:none}[data-theme=dark] .session-history-field{color:#e2e8f0}[data-theme=dark] .session-history-field-wrapper:focus-within{box-shadow:0 0 0 2px #3b82f673;border-color:#60a5fa}[data-theme=dark] .app-main-column .input,[data-theme=dark] .app-main-column select,[data-theme=dark] .app-main-column textarea,[data-theme=dark] .app-main-column--history .input,[data-theme=dark] .app-main-column--history select,[data-theme=dark] .app-main-column--history textarea{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#f1f5f9}[data-theme=dark] .app-main-column .input:focus,[data-theme=dark] .app-main-column select:focus,[data-theme=dark] .app-main-column textarea:focus,[data-theme=dark] .app-main-column--history .input:focus,[data-theme=dark] .app-main-column--history select:focus,[data-theme=dark] .app-main-column--history textarea:focus{outline:2px solid rgba(96,165,250,.6);border-color:#60a5fa;background:#ffffff1f;box-shadow:0 0 0 4px #60a5fa26}[data-theme=dark] .app-main-column .input-error,[data-theme=dark] .app-main-column--history .input-error{border-color:#ef4444!important;background:#ef444426}[data-theme=dark] .app-main-column .form-label,[data-theme=dark] .app-main-column--history .form-label{color:#94a3b8}[data-theme=dark] .action-buttons{background:#ffffff0d;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 2px 6px -2px #00000059}[data-theme=dark] .action-buttons .action-btn,[data-theme=dark] .action-buttons .btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#e2e8f0}[data-theme=dark] .action-buttons .action-btn:hover,[data-theme=dark] .action-buttons .btn:hover{background:#ffffff1f}[data-theme=dark] .action-buttons .btn-gerar-proposta{background:linear-gradient(135deg,#2563eb,#3b82f6 60%);color:#fff;border:1px solid #1d4ed8}[data-theme=dark] .action-buttons .btn-gerar-proposta:hover{filter:brightness(1.06)}[data-theme=dark] .action-buttons .gp-badge-juncao{background:linear-gradient(135deg,#34d46b,#22c55e 85%)}:root{--color-bg: #f5f7fa;--color-bg-alt: #eef2f7;--color-surface: #ffffff;--color-surface-alt: #f9fafb;--color-border: rgba(15,23,42,.28);--color-border-strong: rgba(15,23,42,.45);--color-text: #0f172a;--color-text-soft: #334155;--color-text-mute: #475569;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-focus: #3b82f6;--color-primary-disabled: #5a8de8;--color-primary-soft: rgba(37,99,235,.12);--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-active: #991b1b;--color-danger-focus: #ef4444;--color-danger-disabled: #e67373;--color-warning: #d97706;--color-warning-hover: #b45309;--color-warning-active: #92400e;--color-warning-focus: #f59e0b;--color-warning-disabled: #c87a05;--color-success: #15803d;--color-success-hover: #166534;--color-success-active: #14532d;--color-success-focus: #22c55e;--color-success-disabled: #16a34a;--color-success-badge: #1e9449;--color-info: #0ea5e9;--color-info-hover: #0284c7;--color-info-active: #0369a1;--color-info-focus: #38bdf8;--color-info-disabled: #0284c7;--color-primary-rgb: 37,99,235;--color-danger-rgb: 220,38,38;--color-warning-rgb: 217,119,6;--color-success-rgb: 21,128,61;--color-info-rgb: 14,165,233;--color-danger-soft: rgba(220,38,38,.12);--color-warning-soft: rgba(217,119,6,.12);--color-success-soft: rgba(21,128,61,.12);--color-info-soft: rgba(14,165,233,.12);--gradient-danger: linear-gradient(135deg, #dc2626 0%, #b91c1c 65%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 65%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #15803d 65%);--gradient-info: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 65%);--color-error-bg: #fff0f0;--color-error-text: #991b1b;--color-revoke-red: #dc3545;--color-modal-overlay: rgba(0,0,0,.45);--color-spinner-overlay: rgba(0,0,0,.2);--color-kbd-bg: var(--color-surface-alt);--font-family-base: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-family-display: "Space Grotesk", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .95rem;--font-size-md: 1.05rem;--font-size-lg: 1.25rem;--font-size-xl: clamp(1.8rem, 4vw, 2.4rem);--icon-size-xs: 14px;--icon-size-sm: 16px;--icon-size-md: 20px;--icon-size-lg: 24px;--icon-size-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--shadow-sm: 0 2px 4px -2px rgba(15,23,42,.12);--shadow-md: 0 6px 18px -6px rgba(15,23,42,.18);--shadow-lg: 0 24px 48px -24px rgba(15,23,42,.35);--transition-fast: .12s ease;--transition-base: .24s ease;--focus-ring-color: var(--color-primary-soft);--focus-ring-width: 3px;--focus-ring-offset: 2px;--btn-bg-primary: var(--color-primary);--btn-color-primary: #fff;--btn-border-primary: var(--color-primary);--btn-bg-danger: var(--color-danger);--btn-color-danger: #fff;--btn-border-danger: var(--color-danger);--btn-bg-secondary: var(--color-neutral-600);--btn-color-secondary: #fff;--btn-border-secondary: var(--color-neutral-600);--btn-bg-success: var(--color-success);--btn-color-success: #fff;--btn-border-success: var(--color-success);--btn-bg-info: var(--color-info);--btn-color-info: #fff;--btn-border-info: var(--color-info);--btn-bg-warning: var(--color-warning);--btn-color-warning: #222;--btn-border-warning: var(--color-warning);--btn-bg-warning-soft: var(--color-warning-soft);--btn-color-warning-soft: var(--color-warning);--btn-border-warning-soft: var(--color-warning);--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-400: #94a3b8;--color-neutral-500: #64748b;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1e293b;--color-neutral-900: #0f172a;--color-neutral-soft: rgba(15,23,42,.05);--color-neutral-soft-strong: rgba(15,23,42,.1);--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 65%);--color-brand-anthracite: #111318;--color-brand-energy: #FF6A00;--color-brand-deepblue: #0B3D91;--color-brand-fog: #CED4DA;--color-brand: var(--color-brand-deepblue);--color-brand-accent: var(--color-brand-energy);--color-brand-alt: var(--color-success);--gradient-brand: linear-gradient(135deg, var(--color-brand-deepblue) 0%, var(--color-brand-energy) 58%, var(--color-brand-alt) 100%);--chart-1: #4e79a7;--chart-2: #f28e2b;--chart-3: #e15759;--chart-4: #76b7b2;--chart-5: #59a14f;--chart-6: #edc948;--chart-7: #b07aa1;--chart-8: #ff9da7;--chart-9: #9c755f;--chart-10: #bab0ab}.badge-qs{background:var(--color-primary);color:#fff;font-size:11px;line-height:1;padding:3px 6px;border-radius:999px;min-width:18px;text-align:center;font-weight:600;box-shadow:0 0 0 1px #fff6}[data-theme=dark] .badge-qs{background:#60a5fa;color:#0f172a;box-shadow:0 0 0 1px #0000004d,0 2px 8px #60a5fa66;font-weight:700}.action-bar{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.btn,.action-btn{--_bg: #ffffff;--_color: var(--color-neutral-700);--_border: var(--color-neutral-200);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:600;line-height:1.15;padding:10px 18px;border-radius:var(--radius-md);border:1px solid var(--_border);background:var(--_bg);color:var(--_color);cursor:pointer;text-decoration:none;user-select:none;-webkit-user-select:none;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);box-shadow:0 1px 2px #0f172a14}.btn:focus-visible,.action-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring-color)}.btn:hover:not(:disabled),.action-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);transition:all .2s ease}.btn:active:not(:disabled),.action-btn:active:not(:disabled){transform:translateY(0);transition:all .1s ease}.btn:disabled,.action-btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary,.action-btn--primary{--_bg: var(--gradient-primary);--_color:#fff;--_border: var(--color-primary)}.btn--primary,.action-btn--primary{--_bg: linear-gradient(to bottom,#0b3d91 0%, #0a357f 100%);--_color:#fff;--_border:#082e6d;box-shadow:0 4px 10px -4px #0b3d9173;transition:all .2s ease}.btn--primary:hover,.action-btn--primary:hover{filter:brightness(1.07);box-shadow:0 6px 14px -6px #0b3d918c;transform:translateY(-2px) scale(1.02)}.btn--primary:active,.action-btn--primary:active{filter:brightness(.94);transform:translateY(0) scale(.98)}.btn--secondary,.action-btn--secondary{--_bg: var(--color-neutral-700);--_color:#fff;--_border: var(--color-neutral-700)}.btn--secondary,.action-btn--secondary{--_bg: linear-gradient(to bottom,#111318 0%, #181b22 100%);--_color:#f1f5f9;--_border:#22262d;box-shadow:0 3px 8px -4px #11131880;transition:all .2s ease}.btn--secondary:hover,.action-btn--secondary:hover{filter:brightness(1.05);box-shadow:0 4px 10px -4px #11131899;transform:translateY(-2px) scale(1.02)}.btn--secondary:active,.action-btn--secondary:active{filter:brightness(.93);transform:translateY(0) scale(.98)}.btn--accent,.action-btn--accent{--_bg: var(--color-success);--_color:#fff;--_border: var(--color-success)}.btn--accent,.action-btn--accent{--_bg: var(--gradient-success);--_color:#fff;--_border: var(--color-success-active);box-shadow:0 4px 10px -4px #22c55e73;transition:all .2s ease}.btn--accent:hover,.action-btn--accent:hover{filter:brightness(1.06);box-shadow:0 6px 14px -6px #22c55e8c;transform:translateY(-2px) scale(1.02)}.btn--accent:active,.action-btn--accent:active{filter:brightness(.94);transform:translateY(0) scale(.98)}.btn--outline,.action-btn--outline{--_bg: transparent;--_color: var(--color-text);--_border: var(--color-border-strong)}.btn--outline,.action-btn--outline{--_bg:#ffffff;--_color: var(--color-neutral-700);--_border: var(--color-neutral-300);transition:all .2s ease}.btn--outline:hover,.action-btn--outline:hover{--_bg:#f8fafc;transform:translateY(-2px) scale(1.02)}.btn--outline:active,.action-btn--outline:active{transform:translateY(0) scale(.98)}.btn--danger,.action-btn--danger{--_bg: var(--color-danger);--_color:#fff;--_border: var(--color-danger)}.btn--danger,.action-btn--danger{--_bg: var(--gradient-danger);--_color:#fff;--_border: var(--color-danger-active);box-shadow:0 4px 10px -4px #dc262673;transition:all .2s ease}.btn--danger:hover,.action-btn--danger:hover{filter:brightness(1.06);box-shadow:0 6px 14px -6px #dc26268c;transform:translateY(-2px) scale(1.02)}.btn--danger:active,.action-btn--danger:active{filter:brightness(.94);transform:translateY(0) scale(.98)}.btn--warning,.action-btn--warning{--_bg: var(--color-warning-soft);--_color: var(--color-warning);--_border: var(--color-warning)}.btn--warning,.action-btn--warning{--_bg: var(--gradient-warning);--_color:#222;--_border: var(--color-warning-active);box-shadow:0 4px 10px -4px #f59e0b73;transition:all .2s ease}.btn--warning:hover,.action-btn--warning:hover{filter:brightness(1.05);box-shadow:0 6px 14px -6px #f59e0b8c;transform:translateY(-2px) scale(1.02)}.btn--warning:active,.action-btn--warning:active{filter:brightness(.95);transform:translateY(0) scale(.98)}.btn--sm,.action-btn--sm{padding:6px 12px;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn--lg,.action-btn--lg{padding:14px 24px;font-size:var(--font-size-md)}.action-btn__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:38px!important;min-height:38px!important;padding:8px 10px!important;border:none;background:transparent;color:var(--color-text);font-size:14px!important;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative}.icon-button:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);transform:scale(1.05)}.icon-button:active:not(:disabled){transform:scale(.95)}.icon-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button svg{transition:transform .2s ease}.icon-button:hover:not(:disabled) svg{transform:scale(1.1)}.icon-button--sm{min-width:36px;min-height:36px;padding:8px;font-size:var(--icon-size-sm)}.icon-button--lg{min-width:52px;min-height:52px;padding:14px;font-size:var(--icon-size-lg)}.icon-button--with-text{padding:10px 16px;min-width:auto}[data-theme=dark] .icon-button{color:var(--color-text-soft)}[data-theme=dark] .icon-button:hover:not(:disabled){background:#3b82f626;color:var(--color-primary-focus)}.action-btn__inner{display:inline-flex;align-items:center;gap:8px}.btn.is-loading,.action-btn.is-loading{position:relative;pointer-events:none}.btn.is-loading:after,.action-btn.is-loading:after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(var(--color-primary-rgb),.35);border-top-color:#fff;animation:spin .8s linear infinite;position:absolute;right:10px;top:50%;transform:translateY(-50%)}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.main-action-group{background:var(--color-surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:stretch;gap:var(--space-2)}.main-action-group .action-btn{flex:0 0 auto}.main-action-group .action-btn,.main-action-group .btn-gerar-proposta{min-height:44px}.main-action-group .gp-btn-wrapper{display:flex;align-items:stretch}.main-action-group .gp-btn-wrapper>.btn-gerar-proposta{height:100%}@media (max-width: 860px){.main-action-group{flex-wrap:wrap}}.btn-gerar-proposta{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;padding:10px 36px 10px 16px;gap:6px;overflow:visible;white-space:normal;background:linear-gradient(135deg,#0b3d91,#2563eb 65%);color:#fff;border:1px solid #0a357f;box-shadow:0 6px 16px -6px #0b3d918c}.btn-gerar-proposta .gp-btn-content{display:inline-flex;align-items:center;gap:8px;max-width:100%}.btn-gerar-proposta .gp-btn-label{display:inline-block;font-weight:600;letter-spacing:.3px}.btn-gerar-proposta .gp-badge-juncao{background:linear-gradient(135deg,#16a34a,#15803d 85%);color:#fff;padding:4px 8px;font-size:11px;line-height:1.05;font-weight:600;border-radius:var(--radius-pill);box-shadow:0 0 0 1px #ffffff40,0 1px 2px #0003;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;letter-spacing:.3px;position:absolute;top:6px;right:6px;transform:none;margin-left:0;z-index:1;height:auto;pointer-events:none}.btn-gerar-proposta .gp-badge-juncao [data-theme=dark] .action-buttons .btn-gerar-proposta{background:linear-gradient(135deg,#1d4ed8,#2563eb 70%);border:1px solid #1e3a8a;box-shadow:0 6px 16px -6px #1d4ed88c}@media (max-width: 620px){.btn-gerar-proposta{padding:10px 34px 10px 14px}.btn-gerar-proposta .gp-badge-juncao{font-size:11px;padding:4px 6px;right:4px;top:6px;gap:1px}.btn-gerar-proposta .gp-btn-content{gap:6px}}[data-theme=dark]{--color-bg: #0f172a;--color-bg-alt: #1e293b;--color-surface: #1e293b;--color-surface-alt: #243248;--color-border: rgba(255,255,255,.3);--color-border-strong: rgba(255,255,255,.5);--color-text: #f1f5f9;--color-text-soft: #cbd5e1;--color-text-mute: #94a3b8;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-active: #1d4ed8;--color-primary-focus: #60a5fa;--color-primary-disabled: #60a5fa;--color-primary-soft: rgba(59,130,246,.18);--color-danger: #f87171;--color-danger-hover: #ef4444;--color-danger-active: #dc2626;--color-danger-focus: #fca5a5;--color-danger-disabled: #fca5a5;--color-warning: #fbbf24;--color-warning-hover: #f59e0b;--color-warning-active: #d97706;--color-warning-focus: #fcd34d;--color-warning-disabled: #fcd34d;--color-success: #22c55e;--color-success-hover: #16a34a;--color-success-active: #15803d;--color-success-focus: #4ade80;--color-success-disabled: #4ade80;--color-success-badge: #34d46b;--color-info: #38bdf8;--color-info-hover: #0ea5e9;--color-info-active: #0284c7;--color-info-focus: #7dd3fc;--color-info-disabled: #7dd3fc;--shadow-lg: 0 24px 48px -24px rgba(0,0,0,.65);--color-danger-soft: rgba(248,113,113,.18);--color-warning-soft: rgba(251,191,36,.18);--color-success-soft: rgba(34,197,94,.18);--color-info-soft: rgba(56,189,248,.18);--focus-ring-color: rgba(59,130,246,.35);--color-neutral-soft: rgba(255,255,255,.06);--color-neutral-soft-strong: rgba(255,255,255,.12);--gradient-primary: linear-gradient(135deg,#1d4ed8 0%, #2563eb 70%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 65%);--gradient-warning: linear-gradient(135deg, #fbbf24 0%, #f59e0b 65%);--gradient-success: linear-gradient(135deg, #34d46b 0%, #22c55e 65%);--gradient-info: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 65%);--color-error-bg: rgba(220,38,38,.15);--color-error-text: #fca5a5;--color-revoke-red: #ef4444;--color-modal-overlay: rgba(0,0,0,.65);--color-spinner-overlay: rgba(0,0,0,.35);--chart-1: #5a8bc0;--chart-2: #ffa64b;--chart-3: #f26b6d;--chart-4: #87c9c3;--chart-5: #63b35a;--chart-6: #f6d463;--chart-7: #c191b9;--chart-8: #ffb3bb;--chart-9: #b7896f;--chart-10: #c8c2bc}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);margin:0;padding:0;overflow:hidden!important;height:100%;width:100%}body.login-page{overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;min-height:100vh}html:has(.login-page){overflow-y:auto!important;height:auto!important}#root{min-height:100vh;width:100%;background:var(--color-bg);overflow:hidden}.app-shell{height:100vh;width:100%;display:flex;flex-direction:column;background:var(--color-bg);overflow:hidden}.app-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:50px!important;z-index:6000!important;display:flex;flex-wrap:nowrap!important;align-items:center;gap:8px;padding:3px 6px;background:linear-gradient(135deg,#fffffff2,#ffffffe6 70%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);box-shadow:0 4px 14px -4px #0f172a24;box-sizing:border-box;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.app-content{position:fixed;top:50px!important;left:0;right:0;bottom:0;width:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}[data-theme=dark] html,[data-theme=dark] body,[data-theme=dark] #root,[data-theme=dark] .app-shell,[data-theme=dark] .app-content,[data-theme=dark] .app-layout{background:var(--color-bg)!important}.app-header__left,.app-header__center,.app-header__right,.app-header__segment{display:flex;align-items:center;gap:6px;min-width:0}.app-header__left,.app-header__right,.app-header__segment--right{flex:0 0 auto;min-width:0}.app-header__center,.app-header__segment--center{flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:thin}.app-header__center>*,.app-header__segment--center>*{min-width:0}.app-header__center select,.app-header__center input,.app-header__center .app-header__dropdown,.app-header__center .app-header__center-content{min-width:0;max-width:100%;overflow-y:auto;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__center::-webkit-scrollbar{height:6px}@media (max-width:1080px){.app-header{gap:5px}}@media (max-width:700px){.app-header{padding:6px 8px;gap:6px;height:auto;min-height:56px}.app-header__center,.app-header__segment--center{font-size:.88em}.app-header__left,.app-header__right,.app-header__segment{gap:6px}}@media (max-width: 480px){.app-header{padding:4px 6px;gap:4px;min-height:52px}.app-header .hide-mobile{display:none!important}.app-header__logo,.app-header__brand-logo{max-width:140px;height:auto}.app-header .btn,.app-header .icon-button{min-width:32px!important;min-height:32px!important;padding:6px!important;font-size:.7rem!important}.app-header__dropdown{left:0;right:0;width:100%;max-width:100%;border-radius:0}}.app-header__segment{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-header__segment--left,.app-header__segment--right,.app-header__right{flex:0 0 auto}.app-header__segment--center{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin}.app-header__segment--center::-webkit-scrollbar{height:6px}.app-header__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-md);position:relative;isolation:isolate}.app-header__dropdown .dropdown-item{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:var(--font-size-sm);border:none;background:transparent;cursor:pointer;width:100%;text-align:left;border-radius:var(--radius-sm)}.app-header__dropdown .dropdown-item:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}[data-theme=dark] .app-header__dropdown{background:var(--color-bg-alt)}[data-theme=dark] .app-header__dropdown .dropdown-item{color:var(--color-text-soft)}[data-theme=dark] .app-header__dropdown .dropdown-item:hover{color:var(--color-primary-hover)}.app-header__brand-logo{background:transparent;border-radius:999px;padding:0;box-shadow:none}.app-header__brand-logo img{display:block;height:40px!important;width:auto}[data-theme=dark] .app-header__brand-logo img{filter:contrast(1.15) saturate(1.05);mix-blend-mode:normal}[data-theme=dark] .app-header{background:linear-gradient(160deg,#0f172a,#16263e 55%,#0f172a);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 4px 14px -4px #0000008c}[data-theme=dark] .app-header__brand,[data-theme=dark] .app-header__brand:hover{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-header__brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px!important;letter-spacing:.3px;padding:3px 12px;border-radius:var(--radius-pill);position:relative;height:48px!important;box-sizing:border-box}.app-header__brand-logo{width:auto;height:100%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));transition:filter var(--transition-fast)}[data-theme=dark] .app-header__brand-logo{filter:drop-shadow(0 2px 6px rgba(0,0,0,.55)) brightness(1.08)}.app-header__brand-logo img{height:100%;width:auto;display:block;object-fit:contain;image-rendering:-webkit-optimize-contrast}.app-header__brand--logo-only .app-header__brand-logo img{padding:0 2px}[data-theme=dark] .app-header__brand{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=dark] .app-header__brand:hover{background:transparent}[data-theme=dark] .app-header__brand-logo{filter:drop-shadow(0 2px 6px rgba(0,0,0,.55)) brightness(1.05)}.app-header__brand-name{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=dark] .app-header__brand-name{color:#f1f5f9}.app-header__brand--logo-only .app-header__brand-name{display:none}.app-header__brand--logo-only{gap:0;padding-right:6px}.app-header__segment{display:flex;align-items:center;gap:var(--space-4);flex:1 1 auto;min-width:180px}.app-header__segment--left{justify-content:flex-start}.app-header__segment--center{justify-content:center}.app-header__segment--right{justify-content:flex-end}.app-header__slogans-wrapper{width:260px;overflow:hidden;position:relative}.app-header__brand-slogan-fixed{display:block;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px!important;letter-spacing:.32px;font-weight:500;color:var(--color-text-soft);opacity:.92;transition:color var(--transition-fast),opacity var(--transition-fast);position:relative}[data-theme=dark] .app-header__brand-slogan-fixed{color:#e2e8f0;opacity:.88}[data-theme=dark] .app-header__brand-slogan-fixed:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--color-brand-energy);border-radius:1px;transition:width .4s ease}[data-theme=dark] .app-header__brand:hover+.app-header__slogans-wrapper .app-header__brand-slogan-fixed:after{width:22%}.app-header__center-block{display:flex;align-items:center;gap:8px;min-width:280px;justify-content:flex-start;flex-wrap:nowrap;overflow:hidden}.company-badge{display:inline-flex;align-items:center;gap:4px;background:var(--color-brand-deepblue-soft);color:var(--color-brand-deepblue);border:1px solid var(--color-border);padding:3px 8px!important;border-radius:var(--radius-pill);font-size:10.5px!important;font-weight:600;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast);height:32px!important;min-height:32px!important;max-height:32px!important;line-height:1.2!important}.company-badge:hover{background:#0b3d9124;box-shadow:0 2px 6px -2px #0b3d9140}[data-theme=dark] .company-badge{background:#0b3d9138;color:#fff;border-color:#ffffff2e}[data-theme=dark] .company-badge:hover{background:#0b3d914d}.company-badge__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.llm-select-wrapper{display:flex;align-items:center;gap:8px}.llm-select-header{min-width:230px;padding:3px 8px!important;border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:var(--radius-pill);font-size:10.5px!important;font-weight:500;color:var(--color-text-soft);transition:border-color var(--transition-fast),background var(--transition-fast);height:32px!important;min-height:32px!important;max-height:32px!important;line-height:1.2!important}.llm-select-header:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.llm-select-header:hover{background:var(--color-neutral-soft)}[data-theme=dark] .llm-select-header{background:var(--color-bg-alt);color:var(--color-text-soft)}[data-theme=dark] .llm-select-header:hover{background:var(--color-neutral-soft)}.llm-select-wrapper .llm-badge{margin-left:4px}@media (max-width:1200px){.app-header{gap:8px}.app-header__slogans-wrapper{width:200px}.app-header__center-block{min-width:220px}}@media (max-width:900px){.app-header{padding:4px 8px}.app-header__segment--left,.app-header__segment--center,.app-header__segment--right{order:initial;flex:0 0 auto}.app-header__segment--center{flex:1 1 auto}.app-header__slogans-wrapper{width:160px}}@media (max-width:600px){.app-header{gap:6px}.app-header__brand{height:34px;padding:2px 8px}.app-header__slogans-wrapper{display:none}.company-badge{padding:4px 8px;font-size:11px}.company-badge__label{max-width:160px}.llm-select-header{min-width:160px;font-size:11px}.app-header__center-block{min-width:200px}}@media (max-width:520px){.app-header{flex-direction:row!important;padding:4px 6px}.app-header__segment{flex:0 0 auto;width:auto}.app-header__center-block{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-header__center-block::-webkit-scrollbar{display:none}.llm-select-header{min-width:150px}.company-badge__label{max-width:130px}}@media (max-width:420px){.app-header__segment--right{flex-wrap:nowrap;gap:4px}.llm-select-wrapper{width:auto}.llm-select-header{min-width:140px}.company-badge__label{max-width:120px}}.app-header,.app-header *{white-space:nowrap}@media (max-width:840px){.app-header__slogans-wrapper{display:none}}.app-header__brand-name{font-family:var(--font-family-display);font-weight:600}.app-header__brand-slogan{font-size:11px;font-weight:500;letter-spacing:.5px;color:var(--color-text-mute);margin-left:6px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;top:1px}.app-header__brand-slogan{max-width:260px}[data-theme=dark] .app-header__brand-slogan{color:var(--color-text-soft)}@media (max-width: 840px){.app-header__brand-slogan{display:none}}.app-root-animated{animation:appFadeSlide .6s var(--transition-base) both}@keyframes appFadeSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-header__brand.pulse-on-load{animation:brandPulse 2.6s ease .4s 1}@keyframes brandPulse{0%{filter:brightness(1)}40%{filter:brightness(1.25)}to{filter:brightness(1)}}.hero-promo{padding:104px 0 42px;background:linear-gradient(160deg,#111318,#182a48 54%,#111318);color:#fff;position:relative;overflow:hidden}.hero-promo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 72% 32%,rgba(255,106,0,.28) 0%,transparent 62%);mix-blend-mode:screen;opacity:.55;pointer-events:none}.hero-promo__inner{position:relative;z-index:2}.hero-promo__actions{position:relative;z-index:3}.hero-promo__inner{width:100%;max-width:1040px;margin:0 auto;padding:0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.hero-promo__title{font-family:var(--font-family-display);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.05;font-weight:600;margin:0;letter-spacing:.5px}.hero-promo__subtitle{font-size:clamp(1rem,2.2vw,1.25rem);max-width:760px;line-height:1.35;margin:0;color:var(--color-brand-fog);font-weight:500}.hero-promo__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.hero-promo__btn{position:relative;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:600;padding:14px 26px;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.hero-promo__btn--primary{background:linear-gradient(135deg,#ff6a00,#ff7f24 70%);color:#111318;box-shadow:0 6px 18px -6px #ff6a008c}.hero-promo__btn--primary:hover{filter:brightness(1.05)}.hero-promo__btn--secondary{background:#0b3d91;color:#fff;box-shadow:0 6px 18px -6px #0b3d918c}.hero-promo__btn--secondary:hover{filter:brightness(1.08)}.hero-promo__btn:active{transform:translateY(2px)}@media (max-width:740px){.hero-promo{padding:92px 0 34px}.hero-promo__title{font-size:clamp(2rem,8vw,2.6rem)}}.hero-wrapper-transition{animation:heroFadeIn .6s ease}.hero-wrapper-transition.removed{animation:heroFadeOut .45s ease forwards}.login-preparing .login-shell{opacity:0;transform:translateY(18px);transition:opacity .45s ease .15s,transform .45s ease .15s}.login-centered-full .login-shell{opacity:1;transform:translateY(0)}@keyframes heroFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-centered-full{display:flex;flex-direction:column;min-height:100vh}.login-centered-full .login-shell{flex:1;display:flex;align-items:center;justify-content:center;min-height:100%;padding-top:40px}.login-elevated .login-shell .login-panel{box-shadow:0 30px 90px -30px #0f172a73}.welcome-banner{margin-top:0;padding-top:0}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.grid{display:grid}.h-full{height:100%}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-pill{border-radius:var(--radius-pill)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-muted{color:var(--color-text-mute)}.btn{--_bg: var(--color-surface);--_color: var(--color-text);--_border: var(--color-border);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:500;line-height:1.2;padding:10px 18px;border-radius:var(--radius-md);border:1px solid var(--_border);background:var(--_bg);color:var(--_color);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);text-decoration:none}.btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.btn:focus{outline:3px solid var(--color-primary-soft);outline-offset:2px}:where(button,[role=button],.btn,.icon-button,a[href],input,select,textarea):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{--_bg: var(--color-primary);--_color:#fff;--_border: var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{--_bg: var(--btn-bg-secondary);--_color: var(--btn-color-secondary);--_border: var(--btn-border-secondary)}.btn-danger{--_bg: var(--color-danger);--_color:#fff;--_border: var(--color-danger)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-outline{--_bg: transparent}.btn-outline{background:transparent}.btn-outline:hover{background:var(--color-primary-soft)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:600;padding:4px 10px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:var(--color-primary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.card-elevated{box-shadow:var(--shadow-lg)}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.container{width:100%;margin:0 auto;padding:0 var(--space-4);max-width:1400px}[data-theme=dark] .card{background:var(--color-surface-alt)}[data-theme=dark] .btn-outline{color:var(--color-text-mute);border-color:var(--color-border)}.table-responsive{width:100%;overflow-x:auto}.table-responsive table{width:100%;border-collapse:collapse}.table-responsive th,.table-responsive td{padding:6px 10px;text-align:left;font-size:var(--font-size-sm)}.table-responsive thead th{background:var(--color-surface-alt);position:sticky;top:0}@media (max-width: 768px){button:not(.btn-tiny),.btn:not(.btn--sm),.action-btn:not(.action-btn--sm),a[role=button],.icon-button,input[type=checkbox],input[type=radio],select,.menu-item,.session-pill,.nav-link{min-height:44px;min-width:44px}.action-buttons .btn,.action-buttons .action-btn{min-height:48px;padding:14px 20px;font-size:15px}a:not([role=button]){padding:8px 4px;display:inline-block}input[type=checkbox],input[type=radio]{width:24px;height:24px;margin:10px}.modal-close-btn{min-width:44px;min-height:44px;padding:10px;font-size:1.5rem}.session-pill,.badge,.tag{min-height:36px;padding:8px 12px}}.fade-in{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mode-toggle{position:fixed;bottom:16px;right:16px;z-index:4000}.modal-overlay{background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding:6vh var(--space-4);overflow-y:auto;z-index:5000}@media (max-width: 768px){.modal-overlay{align-items:stretch;padding:var(--space-2)}}@media (max-width: 640px){.modal-overlay{padding:0;align-items:stretch}.modal-panel{max-width:100%;width:100%;height:100%;border-radius:0;border:none}.modal-header{padding:var(--space-3);position:sticky;top:0;background:var(--color-surface);z-index:10}.modal-body{padding:var(--space-3);max-height:none;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-footer{padding:var(--space-3);position:sticky;bottom:0;background:var(--color-surface);border-top:2px solid var(--color-border)}}.modal-panel{background:var(--color-surface);color:var(--color-text);width:100%;max-width:min(900px,100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;position:relative;overflow:hidden;animation:fadeIn .35s ease}.modal-panel--sm{max-width:440px}[data-theme=dark] .modal-panel{background:var(--color-surface-alt)}.modal-header{padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.modal-title{font-size:var(--font-size-md);font-weight:600;margin:0}.modal-close-btn{background:none;border:none;cursor:pointer;font-size:1.35rem;line-height:1;padding:4px 8px;border-radius:var(--radius-sm);color:var(--color-text-soft);transition:background var(--transition-fast),color var(--transition-fast)}.modal-close-btn:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.modal-body{padding:var(--space-4);overflow-y:auto;max-height:70vh}.modal-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}@media (max-width: 768px){.modal-body{max-height:none}}.field-group{width:100%;display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3)}.input,.textarea{width:100%;border:1px solid var(--color-border);background:var(--color-surface-alt);padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family-base);resize:vertical}@media (max-width: 768px){html{font-size:14px}.input,.textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=search],select{font-size:16px;padding:12px 14px;min-height:44px}.field-group label{margin-bottom:6px;font-weight:500}.textarea,textarea{min-height:120px}.field-group{margin-bottom:var(--space-4)}}.input,.textarea{color:var(--color-text)}.input::placeholder,.textarea::placeholder{color:var(--color-text-mute)}[data-theme=dark] .input::placeholder,[data-theme=dark] .textarea::placeholder{color:var(--color-text-mute)}.textarea{min-height:110px}.login-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-text)}[data-theme=dark] .login-container{background:var(--color-bg-alt);border-color:var(--color-border);box-shadow:var(--shadow-lg)}.login-container h2{margin-top:0;margin-bottom:var(--space-3);font-size:var(--font-size-lg)}.login-container h3{margin-top:0;font-size:var(--font-size-md)}.login-container p{font-size:var(--font-size-sm);color:var(--color-text-mute)}.login-container img{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt)}.login-container button[style*="background: none"]:hover{text-decoration:underline}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);background:linear-gradient(160deg,#111318,#182a48 54%,#111318);position:relative;isolation:isolate;color:#fff}.login-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 72% 32%,rgba(255,106,0,.28) 0%,transparent 62%);mix-blend-mode:screen;opacity:.55;pointer-events:none}[data-theme=dark] .login-shell{background:linear-gradient(160deg,#0f172a,#1e293b 54%,#0f172a)}[data-theme=dark] .login-shell:after{background:radial-gradient(circle at 72% 32%,rgba(59,130,246,.35) 0%,transparent 62%);opacity:.55}.login-panel{width:100%;max-width:520px;background:linear-gradient(125deg,#fff,#f9fbfd 70%);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(28px,5vw,42px) clamp(28px,5vw,46px) clamp(36px,6vw,54px);box-shadow:0 20px 80px -28px #0f172a59,var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-4);position:relative;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=dark] .login-panel{background:var(--color-bg-alt);box-shadow:0 24px 90px -30px #000c,var(--shadow-md)}.login-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(145deg,rgba(var(--color-primary-rgb),.08),rgba(var(--color-success-rgb),.08) 60%);pointer-events:none;mix-blend-mode:normal}[data-theme=dark] .login-panel:before{background:linear-gradient(145deg,#3b82f61f,#22c55e1f 60%)}.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2)}.login-brand__logo{width:180px;height:auto;filter:drop-shadow(0 4px 10px rgba(15,23,42,.18))}[data-theme=dark] .login-brand__logo{filter:drop-shadow(0 4px 14px rgba(0,0,0,.65))}.login-brand--logo-only .login-brand__logo{width:300px;max-width:100%}@media (max-width:560px){.login-brand--logo-only .login-brand__logo{width:220px}}.login-brand__name{margin:0;font-size:clamp(1.4rem,4vw,2.2rem);font-weight:700;letter-spacing:.8px;line-height:1.05}.login-brand__name-accent{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.login-brand__tagline{margin:0;font-size:var(--font-size-sm);color:var(--color-text-mute);letter-spacing:.4px;max-width:320px}[data-theme=dark] .login-brand__tagline{color:var(--color-text-soft)}.login-title{margin:0;font-size:var(--font-size-lg);font-weight:600;text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.9px;color:var(--color-text-mute)}[data-theme=dark] .form-label{color:var(--color-text-soft)}.login-btn{--_bg: var(--color-neutral-700);--_color:#fff;--_border: var(--color-neutral-700);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);padding:12px 18px;border-radius:var(--radius-md);border:1px solid var(--_border);cursor:pointer;position:relative;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.login-btn:hover{filter:brightness(1.06)}.login-btn:active{transform:translateY(1px)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-btn--primary{--_bg: var(--gradient-brand);--_border: var(--color-brand-deepblue)}.login-btn--secondary{--_bg: var(--color-neutral-700)}[data-theme=dark] .login-btn--secondary{--_bg: var(--color-neutral-600)}.login-link-btn{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.9px;cursor:pointer;padding:4px 6px;margin-top:4px}.login-link-btn:hover{text-decoration:underline}.footer-bar{background:var(--color-surface);color:var(--color-text-mute);border-top:1px solid var(--color-border)}[data-theme=dark] .footer-bar{background:#0f172a;color:#cbd5e1;border-color:#ffffff1f}.footer-bar button.login-link-btn{color:var(--color-primary)}[data-theme=dark] .footer-bar button.login-link-btn{color:#3b82f6}.login-actions-extra{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.login-error{margin-top:var(--space-3);background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600}[data-theme=dark] .login-error{background:#f871711f}.totp-qr{width:200px;height:200px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);display:block;margin:var(--space-2) auto}.totp-qr--loading{width:200px;height:200px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-neutral-soft);margin:var(--space-2) auto}@media (max-width: 560px){.login-panel{padding:28px 24px 42px;border-radius:var(--radius-lg)}.login-brand__logo{width:150px}.login-brand__name{font-size:clamp(1.4rem,7vw,2rem)}.login-shell{padding:var(--space-6) var(--space-3)}}.questions-modal-panel{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);max-width:700px;width:100%;margin:auto;max-height:80vh;overflow-y:auto;position:relative;animation:fadeIn .35s ease}.questions-modal-panel h2{font-size:var(--font-size-md);font-weight:600;margin:0 0 var(--space-3)}.questions-modal-panel textarea{background:var(--color-surface-alt);color:var(--color-text)}.questions-modal-panel .suggestion-block{background:var(--color-warning-soft);border:1px solid var(--color-warning);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-3)}.questions-modal-panel .suggestion-block textarea,[data-theme=dark] .questions-modal-panel{background:var(--color-surface-alt)}[data-theme=dark] .questions-modal-panel textarea{background:var(--color-bg-alt)}[data-theme=dark] .questions-modal-panel .suggestion-block{background:var(--color-neutral-soft);border-color:var(--color-warning)}[data-theme=dark] .questions-modal-panel .suggestion-block div[style*="font-weight: bold"]{color:var(--color-warning)}[data-theme=dark] .questions-modal-panel button{color:var(--color-text)}.input:focus,.textarea:focus{outline:2px solid var(--color-primary-soft);border-color:var(--color-primary)}.input[disabled],.textarea[disabled]{opacity:.6;cursor:not-allowed}.actions-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}[data-theme=dark] .input,[data-theme=dark] .textarea{background:var(--color-bg-alt)}input:not(.btn):not([type=checkbox]):not([type=radio]),select,textarea{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}[data-theme=dark] input:not(.btn):not([type=checkbox]):not([type=radio]),[data-theme=dark] select,[data-theme=dark] textarea{background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border)}[data-theme=dark] select option{background:var(--color-bg-alt);color:var(--color-text)}.modal-panel{overflow-x:hidden}.app-content{flex:1}.app-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-4);align-items:start;background:var(--color-bg)}@media (max-width: 1080px){.app-layout{grid-template-columns:1fr}.app-sidebar{order:2}}.app-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;max-height:calc(100vh - 170px)}.app-sidebar__title{font-size:var(--font-size-md);margin:0 0 var(--space-3)}.app-sidebar__actions{margin-bottom:var(--space-3)}.app-sidebar__scroll{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px}.session-item{padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-neutral-soft);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--font-size-sm);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.session-item:hover{background:var(--color-surface-alt);box-shadow:0 2px 8px #0000001a}.session-item--active{background:var(--color-primary-soft);border-color:var(--color-primary)}.session-delete-btn{background:var(--color-danger);color:#fff;border:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px}.session-delete-btn:hover{background:var(--color-danger-hover)}.app-main-column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}[data-theme=dark] .app-main-column{background:#1e293b;border-color:#ffffff26;box-shadow:0 4px 12px #0000004d}.form-inline-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-3)}.input-readonly{background:var(--color-neutral-50);color:var(--color-text-mute);cursor:not-allowed;font-style:italic}.input-error{border:2px solid var(--color-danger)!important;background:rgba(var(--color-danger-rgb),.05)}.input-success{border:2px solid var(--color-success)!important;background:rgba(var(--color-success-rgb),.03)}.textarea.input-error{border:2px solid var(--color-danger)!important;background:rgba(var(--color-danger-rgb),.05)}.textarea.input-success{border:2px solid var(--color-success)!important;background:rgba(var(--color-success-rgb),.03)}.field-error-message{display:block;font-size:11px;color:var(--color-danger);margin-top:4px;font-weight:500}.required-mark{position:absolute;top:4px;right:8px;color:var(--color-danger);font-weight:700;font-size:16px}.cost-result{font-size:11px;display:flex;flex-direction:column;gap:var(--space-2)}.cost-result__title{margin:0;font-size:var(--font-size-base);font-weight:600}.cost-result__debug-bar{display:flex;align-items:center;gap:8px}.cost-result__debug-toggle{font-size:11px;display:flex;align-items:center;gap:4px}.cost-result__loading{font-size:11px;color:var(--color-text-mute)}.cost-result__table-wrapper{max-height:240px;overflow-y:auto;border:1px solid var(--color-border);padding:6px;border-radius:var(--radius-sm);background:var(--color-surface-alt)}.cost-result__table{width:100%;border-collapse:collapse;font-size:11px}.cost-result__table th{text-align:left;padding:4px;background:var(--color-bg-alt);position:sticky;top:0}.cost-result__table td{padding:4px;border-top:1px solid var(--color-border)}.cost-result__table .numeric{text-align:right}.cost-result__totals ul{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:2px}.cost-result__totals li.total{font-weight:600}.cost-history{font-size:11px;margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.cost-history__title{margin:0;font-size:var(--font-size-base);font-weight:600}.cost-history__empty{font-size:11px;color:var(--color-text-mute)}.cost-history__list{max-height:180px;overflow-y:auto;border:1px solid var(--color-border);padding:6px;border-radius:var(--radius-sm);background:var(--color-surface-alt);display:flex;flex-direction:column;gap:6px}.cost-history__item{border-bottom:1px solid var(--color-border);padding:4px 2px;display:flex;flex-direction:column;gap:4px}.cost-history__item:last-child{border-bottom:none}.cost-history__staffing-tags{display:flex;flex-wrap:wrap;gap:4px}.cost-history__tag{background:var(--color-bg-alt);padding:2px 4px;border-radius:4px}.cost-history__total{font-size:11px}[data-theme=dark] .cost-result__table-wrapper,[data-theme=dark] .cost-history__list,[data-theme=dark] .cost-staffing__table-wrapper{background:var(--color-surface)}[data-theme=dark] .cost-result__table th,[data-theme=dark] .cost-staffing__table th,[data-theme=dark] .cost-history__tag,[data-theme=dark] .rates-tag{background:var(--color-neutral-soft)}[data-theme=dark] .cost-result__title,[data-theme=dark] .cost-history__title,[data-theme=dark] .cost-staffing__title{color:var(--color-text)}[data-theme=dark] .cost-history__item{border-color:var(--color-border)}.calc-modal__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px 24px 30px;position:relative;box-shadow:0 10px 40px -5px #00000073;max-height:calc(100vh - 120px);overflow-y:auto}.calc-modal__title{margin:0 0 8px;font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.calc-modal__close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:22px;color:var(--color-text-soft);cursor:pointer;line-height:1}.calc-modal__close:hover{color:var(--color-text)}.calc-modal .cost-staffing__table-wrapper,.calc-modal .cost-result__table-wrapper,.calc-modal .cost-history__list{-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px)}[data-theme=dark] .calc-modal__panel{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .calc-modal__title{color:var(--color-text)}[data-theme=dark] .calc-modal__close{color:var(--color-text-soft)}[data-theme=dark] .calc-modal__close:hover{color:var(--color-text)}[data-theme=dark] .calc-modal .cost-staffing__table-wrapper,[data-theme=dark] .calc-modal .cost-result__table-wrapper,[data-theme=dark] .calc-modal .cost-history__list{background:var(--color-surface)}[data-theme=dark] .calc-modal .cost-staffing__table th,[data-theme=dark] .calc-modal .cost-result__table th,[data-theme=dark] .calc-modal .cost-history__tag{background:var(--color-neutral-soft)}[data-theme=dark] .calc-modal__panel{background:var(--color-neutral-800);color:var(--color-neutral-50)}[data-theme=dark] .calc-modal__title{color:var(--color-neutral-50)}[data-theme=dark] .calc-modal__close{color:var(--color-neutral-300)}[data-theme=dark] .calc-modal__close:hover{color:var(--color-neutral-50)}[data-theme=dark] .calc-modal .cost-staffing__table-wrapper,[data-theme=dark] .calc-modal .cost-result__table-wrapper,[data-theme=dark] .calc-modal .cost-history__list{background:var(--color-neutral-700);border-color:var(--color-neutral-600);box-shadow:inset 0 0 0 1px var(--color-neutral-600)}[data-theme=dark] .calc-modal .cost-staffing__table th,[data-theme=dark] .calc-modal .cost-result__table th{background:var(--color-neutral-600);color:var(--color-neutral-50);font-weight:600}[data-theme=dark] .calc-modal .cost-staffing__table td,[data-theme=dark] .calc-modal .cost-result__table td{background:var(--color-neutral-700);color:var(--color-neutral-50)}[data-theme=dark] .calc-modal .cost-staffing__table tr:nth-child(2n) td,[data-theme=dark] .calc-modal .cost-result__table tr:nth-child(2n) td{background:var(--color-neutral-750, #253248)}[data-theme=dark] .calc-modal .cost-staffing__table tr:hover td,[data-theme=dark] .calc-modal .cost-result__table tr:hover td{background:var(--color-neutral-600)}[data-theme=dark] .calc-modal .cost-result__table td.numeric,[data-theme=dark] .calc-modal .cost-staffing__table td.numeric{font-weight:500}[data-theme=dark] .calc-modal .cost-history__item{background:var(--color-neutral-700);border-color:var(--color-neutral-600)}[data-theme=dark] .calc-modal .cost-history__item:hover{background:var(--color-neutral-600)}[data-theme=dark] .calc-modal .cost-history__tag{background:var(--color-neutral-600);color:var(--color-neutral-50)}[data-theme=dark] .calc-modal input,[data-theme=dark] .calc-modal select{background:var(--color-neutral-700);border:1px solid var(--color-neutral-600);color:var(--color-neutral-50)}[data-theme=dark] .calc-modal input:focus,[data-theme=dark] .calc-modal select:focus{outline:2px solid rgba(var(--color-primary-rgb),.45);border-color:var(--color-primary)}[data-theme=dark] .calc-modal .missing-rates-modal__panel{background:var(--color-neutral-800);border-color:var(--color-neutral-600);color:var(--color-neutral-50)}[data-theme=dark] .calc-modal .missing-rates-modal__subtitle{color:var(--color-neutral-300)}[data-theme=dark] .calc-modal .missing-rates-modal__row input{background:var(--color-neutral-700);border:1px solid var(--color-neutral-600);color:var(--color-neutral-50)}[data-theme=dark] .calc-modal .missing-rates-modal__row input:focus{outline:2px solid rgba(var(--color-primary-rgb),.45);border-color:var(--color-primary)}[data-theme=dark] .calc-modal .btn{--_bg: var(--color-neutral-700);--_border: var(--color-neutral-600);--_color: var(--color-neutral-50)}[data-theme=dark] .calc-modal .btn:hover{filter:brightness(1.15)}.missing-rates-modal__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:26px 28px 34px;position:relative;box-shadow:0 10px 34px -4px #00000080;display:flex;flex-direction:column;gap:14px}.missing-rates-modal__title{margin:0;text-align:center;font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.missing-rates-modal__subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-text-soft);text-align:left}.missing-rates-modal__close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:22px;color:var(--color-text-soft);cursor:pointer;line-height:1}.missing-rates-modal__close:hover{color:var(--color-text)}.missing-rates-modal__list{display:flex;flex-direction:column;gap:10px}.missing-rates-modal__row{display:flex;align-items:center;gap:10px}.missing-rates-modal__label{flex:1;font-size:var(--font-size-sm);color:var(--color-text)}.missing-rates-modal__input{width:140px}.missing-rates-modal__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}[data-theme=dark] .missing-rates-modal__panel{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .missing-rates-modal__subtitle{color:var(--color-text-soft)}[data-theme=dark] .missing-rates-modal__label{color:var(--color-text)}[data-theme=dark] .missing-rates-modal__close{color:var(--color-text-soft)}[data-theme=dark] .missing-rates-modal__close:hover{color:var(--color-text)}.btn.btn-sm{padding:4px 8px;font-size:var(--font-size-xs)}@media (min-width:1600px){.app-layout{grid-template-columns:320px 1fr}html{font-size:105%}}.app-sidebar{max-height:none!important;height:100%}.app-sidebar__scroll{flex:1;min-height:0}@media (max-width:720px){.welcome-banner{padding:4px 10px!important}.welcome-banner__stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.app-layout{gap:var(--space-3)}.app-sidebar{max-height:none}}.cost-staffing{display:flex;flex-direction:column;gap:var(--space-3)}.cost-staffing__title{margin:0;font-size:var(--font-size-base);font-weight:600}.cost-staffing__table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface-alt)}.cost-staffing__table{width:100%;border-collapse:collapse;font-size:11px}.cost-staffing__table th{text-align:left;padding:6px;background:var(--color-bg-alt);font-weight:500}.cost-staffing__table td{padding:4px;border-top:1px solid var(--color-border)}.cost-staffing__table td input{width:100%;font-size:11px;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.cost-staffing__table td input:focus{outline:2px solid var(--color-primary-soft);border-color:var(--color-primary)}.cost-staffing__table .numeric{text-align:right}.cost-staffing__percents{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cost-staffing__percents label{font-size:12px;display:flex;flex-direction:column;gap:2px}.cost-staffing__percents input{width:90px;font-size:12px;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.cost-staffing__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hours-input{text-align:right}.field-required-marker{position:absolute;top:10px;right:10px;color:var(--color-danger);font-weight:700;font-size:16px}.input-group-inline{position:relative}.input-invalid-hint{color:var(--color-danger);font-size:var(--font-size-xs);font-weight:600;margin-top:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.llm-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:600;background:var(--color-primary-soft);color:var(--color-primary-hover);padding:4px 8px;border-radius:var(--radius-pill);border:1px solid var(--color-primary)}[data-theme=dark] .llm-badge{background:#3b82f640}@media (max-width:560px){.form-inline-row{flex-direction:column;align-items:stretch}.welcome-banner__stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.app-layout{gap:var(--space-2)}.app-sidebar,.app-main-column{padding:var(--space-3)}}.rates-list{margin-top:var(--space-2);display:flex;flex-direction:column}.rates-item{padding:6px 8px;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:8px;font-size:12px}.rates-item:first-child{border-top:none}.rates-role{flex:1;font-size:12px}.rates-edit-input{width:90px;font-size:12px;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.rates-edit-input:focus{outline:2px solid var(--color-primary-soft);border-color:var(--color-primary)}.rates-tag{background:var(--color-bg-alt);padding:2px 4px;border-radius:4px;font-size:11px}.rates-actions{display:flex;gap:6px}.btn-tiny{padding:2px 8px;font-size:11px;border-radius:var(--radius-sm)}.modal-custom-wrapper{max-width:920px;margin:60px auto;background:var(--color-surface);border-radius:12px;padding:30px;box-shadow:0 10px 40px -5px #0006;position:relative}.modal-custom-close{position:absolute;top:10px;right:14px;border:none;background:none;font-size:26px;cursor:pointer;color:var(--color-text-soft)}.files-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.file-item{position:relative;width:80px;text-align:center}.file-thumb{width:60px;height:60px;border-radius:50%;background:var(--color-neutral-200);display:flex;align-items:center;justify-content:center;margin:auto;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.file-thumb:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.file-thumb img{width:60px;height:60px;border-radius:50%;object-fit:cover}.file-tags-input{width:70px;font-size:11px;margin-top:2px}.file-remove-btn{position:absolute;top:0;right:0;background:var(--color-danger);color:#fff;border:none;border-radius:50%;width:18px;height:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:transform .2s ease,background .2s ease}.file-remove-btn:hover{transform:scale(1.1);background:#b91c1c}.proposal-editor{width:97%;height:40vh;padding:10px;font-size:14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:10px;background:var(--color-surface-alt)}[data-theme=dark] .proposal-editor{background:var(--color-bg-alt);color:var(--color-text)}.proposal-history-item{transition:background var(--transition-fast)}.proposal-history-toggle{cursor:pointer;background:var(--color-surface-alt);padding:10px 14px;border-radius:8px;font-weight:600;font-size:16px;display:flex;align-items:center;gap:10px;color:var(--color-text);border:1px solid var(--color-border);box-shadow:0 1px 2px #0f172a14}.proposal-history-toggle:hover{background:var(--color-neutral-soft)}.proposal-history-toggle.is-open{background:var(--color-primary-soft);border-color:var(--color-primary)}[data-theme=dark] .proposal-history-toggle{background:var(--color-bg-alt);color:var(--color-text-soft);border-color:var(--color-border)}[data-theme=dark] .proposal-history-toggle:hover{background:var(--color-neutral-soft);color:var(--color-text)}[data-theme=dark] .proposal-history-toggle.is-open{background:#3b82f638;color:#fff;border-color:var(--color-primary-hover)}.proposal-history-content{margin-top:10px;padding:14px 16px 18px;background:var(--color-surface-alt);border-radius:10px;border:1px solid var(--color-border);box-shadow:0 2px 6px -2px #0f172a26}[data-theme=dark] .proposal-history-content{background:var(--color-bg-alt);border-color:var(--color-border);box-shadow:0 2px 10px -2px #0000008c}.proposal-history-wrapper{width:100%;max-width:100%;box-sizing:border-box}[data-theme=dark] .proposal-history-wrapper{background:transparent}.proposal-history-item{width:100%}.proposal-markdown{font-size:14px;line-height:1.4;color:var(--color-text-soft)}.proposal-markdown h1,.proposal-markdown h2,.proposal-markdown h3,.proposal-markdown h4{color:var(--color-text);font-family:var(--font-family-display);font-weight:600;letter-spacing:.4px;margin:22px 0 10px}.proposal-markdown h1{font-size:1.55rem}.proposal-markdown h2{font-size:1.25rem}.proposal-markdown h3{font-size:1.05rem}.proposal-markdown p{margin:0 0 14px}.proposal-markdown ul,.proposal-markdown ol{margin:0 0 16px 22px;padding:0}.proposal-markdown li{margin-bottom:6px}.proposal-markdown code{font-size:12px;background:var(--color-neutral-soft);padding:2px 6px;border-radius:6px}.proposal-markdown pre{background:var(--color-neutral-soft);padding:12px;border-radius:10px;overflow:auto;font-size:12px}[data-theme=dark] .proposal-markdown{color:var(--color-text)}[data-theme=dark] .proposal-markdown h1,[data-theme=dark] .proposal-markdown h2,[data-theme=dark] .proposal-markdown h3,[data-theme=dark] .proposal-markdown h4{color:#f8fafc;text-shadow:0 1px 2px rgba(0,0,0,.55)}[data-theme=dark] .proposal-markdown p,[data-theme=dark] .proposal-markdown li{color:var(--color-text)}[data-theme=dark] .proposal-markdown code,[data-theme=dark] .proposal-markdown pre{background:#ffffff14;color:#f1f5f9}[data-theme=dark] .proposal-markdown a{color:var(--color-primary)}.proposal-markdown table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:13px}.proposal-markdown table th,.proposal-markdown table td{padding:6px 10px;border:1px solid var(--color-border)}.proposal-markdown table th{background:var(--color-surface-alt);font-weight:600}.proposal-markdown table td{background:var(--color-surface)}[data-theme=dark] .proposal-markdown table th{background:var(--color-bg-alt);color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] .proposal-markdown table td{background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-border)}[data-theme=dark] .proposal-markdown table strong,[data-theme=dark] .proposal-markdown table b{color:#fff}[data-theme=dark] .proposal-markdown strong,[data-theme=dark] .proposal-markdown b{color:var(--color-text);font-weight:700}[data-theme=dark] .app-sidebar,[data-theme=dark] .app-main-column,[data-theme=dark] .app-main-column--history{background:#1e293b;border-color:#ffffff26;box-shadow:0 4px 12px #0000004d}[data-theme=dark] .app-sidebar .session-item{background:#2d3748;color:#f1f5f9;border:1px solid #4a5568;box-shadow:0 2px 4px #0000004d}[data-theme=dark] .app-sidebar .session-item:hover{background:#374151;border-color:#60a5fa}[data-theme=dark] .app-sidebar .session-item.session-item--active{background:#1e3a8a;border-color:#60a5fa;color:#fff;box-shadow:0 0 0 2px #60a5fa4d}[data-theme=dark] .app-main-column textarea,[data-theme=dark] .app-main-column .input,[data-theme=dark] .app-main-column--history .input,[data-theme=dark] .app-main-column--history textarea,[data-theme=dark] .proposal-history-toggle,[data-theme=dark] .proposal-history-content{background:#323e4c}[data-theme=dark] .app-main-column textarea,[data-theme=dark] .app-main-column .input,[data-theme=dark] .app-main-column--history .input,[data-theme=dark] .app-main-column--history textarea,[data-theme=dark] .proposal-history-toggle,[data-theme=dark] .proposal-history-content{background:#eef1f4;color:#0f172a;border:1px solid #d6dce1}[data-theme=dark] .proposal-history-toggle.is-open{background:#dbeafe;border-color:#93c5fd}[data-theme=dark] .proposal-history-content .proposal-markdown strong,[data-theme=dark] .proposal-history-content .proposal-markdown b{color:#0f172a;font-weight:700}[data-theme=dark] .proposal-history-content .proposal-markdown h1,[data-theme=dark] .proposal-history-content .proposal-markdown h2,[data-theme=dark] .proposal-history-content .proposal-markdown h3,[data-theme=dark] .proposal-history-content .proposal-markdown h4{color:#0f172a;text-shadow:none}[data-theme=dark] .proposal-history-content .proposal-markdown p,[data-theme=dark] .proposal-history-content .proposal-markdown li{color:#1e293b}[data-theme=dark] .proposal-history-content .proposal-markdown table strong,[data-theme=dark] .proposal-history-content .proposal-markdown table b{color:#fff;font-weight:700}.actions-inline{display:flex;gap:10px;margin-top:10px}.btn-info{--_bg: var(--btn-bg-info);--_color: var(--btn-color-info);--_border: var(--btn-border-info)}.btn-success-alt{--_bg: var(--btn-bg-success);--_color: var(--btn-color-success);--_border: var(--btn-border-success)}.btn-warning-soft{--_bg: var(--btn-bg-warning-soft);--_color: var(--btn-color-warning-soft);--_border: var(--btn-border-warning-soft)}.btn-warning-soft:hover{background:var(--btn-bg-warning);color:var(--btn-color-warning)}.bg-soft-primary{background:var(--color-primary-soft);color:var(--color-primary-hover)}.bg-soft-danger{background:var(--color-danger-soft);color:var(--color-danger)}.bg-soft-warning{background:var(--color-warning-soft);color:var(--color-warning)}.bg-soft-success{background:var(--color-success-soft);color:var(--color-success)}.bg-soft-info{background:var(--color-info-soft);color:var(--color-info)}.bg-neutral-subtle{background:var(--color-neutral-soft)}[data-theme=dark] .bg-neutral-subtle{background:var(--color-neutral-soft-strong)}.border{border:1px solid var(--color-border)}.border-strong{border:1px solid var(--color-border-strong)}.btn-compact{padding:4px 10px;font-size:var(--font-size-xs);height:32px}.text-muted-soft{color:var(--color-neutral-500)}@media (min-width:1920px){.container{max-width:1680px}html{font-size:108%}.welcome-banner{padding:4px 10px!important}}@media (max-width:480px){.app-layout{grid-template-columns:1fr}.app-sidebar{order:2;margin-top:var(--space-3)}}.app-main-grid{display:grid;grid-template-columns:1fr .9fr;gap:var(--space-4);align-items:start}@media (max-width:1280px){.app-main-grid{grid-template-columns:1fr}.app-main-column--history{margin-top:var(--space-4)}}.welcome-banner{background:var(--banner-overlay),linear-gradient(90deg,var(--banner-gradient-start),var(--banner-gradient-mid),var(--banner-gradient-end));padding:10px 24px!important;display:flex;flex-direction:row;align-items:center;gap:24px!important;border-radius:14px;margin-bottom:0!important;min-height:auto;margin-top:0!important}.welcome-banner__text{flex:1;display:flex;flex-direction:column;gap:5px}.welcome-banner__greeting{font-size:.7rem!important;font-weight:600;letter-spacing:.14em;margin:0 0 2px;text-transform:uppercase;color:var(--color-neutral-50);display:inline-block;padding:2px 12px 3px;border-radius:12px;background:#00000038;box-shadow:0 1px 2px #00000059}[data-theme=dark] .welcome-banner__greeting{background:#ffffff1f;color:#eef2ff}.welcome-banner__title{font-size:1.65rem!important;margin:0;color:var(--color-neutral-50);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.35)}.welcome-banner__subtitle{font-size:1.02rem!important;margin:0;opacity:.9;color:#ffffffd9;line-height:1.35}.welcome-banner__stats{display:flex;flex-wrap:nowrap;gap:12px!important;align-items:stretch}.welcome-stat{padding:8px 14px!important;border-radius:12px;min-width:135px;display:flex;flex-direction:column;justify-content:center;gap:4px;background:#ffffffa6;-webkit-backdrop-filter:saturate(140%) blur(2px);backdrop-filter:saturate(140%) blur(2px);border:1px solid rgba(255,255,255,.55)}.welcome-stat__label{font-size:.65rem!important;font-weight:600;letter-spacing:.08em;color:var(--color-neutral-900);opacity:.9;text-transform:uppercase}.welcome-stat__value{font-size:1.45rem!important;font-weight:600;line-height:1.1;color:var(--color-neutral-900);text-shadow:0 1px 1px rgba(255,255,255,.4)}.welcome-stat__hint{font-size:.72rem!important;color:var(--color-neutral-700);line-height:1.2}[data-theme=dark] .welcome-stat{background:#00000059;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:saturate(160%) blur(2px);backdrop-filter:saturate(160%) blur(2px)}[data-theme=dark] .welcome-stat__label{color:var(--color-neutral-100);opacity:.85}[data-theme=dark] .welcome-stat__value{color:var(--color-neutral-50);text-shadow:0 1px 2px rgba(0,0,0,.6)}[data-theme=dark] .welcome-stat__hint{color:var(--color-neutral-300)}:root{--header-height:50px;--banner-gradient-start:hsl(222 72% 55%);--banner-gradient-mid:hsl(248 70% 54%);--banner-gradient-end:hsl(272 68% 52%);--banner-overlay: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.08))}[data-theme=dark]{--banner-gradient-start:hsl(222 65% 52%);--banner-gradient-mid:hsl(248 62% 50%);--banner-gradient-end:hsl(272 60% 48%);--banner-overlay: linear-gradient(rgba(0,0,0,.25), rgba(0,0,0,.25))}.icon-button--menu{color:#0f172a;transition:color .2s ease,background .2s ease,transform .2s ease}.icon-button--menu:hover{background:#0000000f;border-radius:10px;transform:scale(1.05)}.icon-button--menu:active{transform:scale(.95)}.icon-button--menu svg{transition:transform .3s ease}.icon-button--menu:hover svg{transform:rotate(90deg)}[data-theme=dark] .icon-button--menu{color:#f1f5f9}[data-theme=dark] .icon-button--menu:hover{background:#ffffff14}.app-header .icon-button,.app-header .menu-toggle,.app-header .menu-trigger{color:#0f172a}[data-theme=dark] .app-header .icon-button,[data-theme=dark] .app-header .menu-toggle,[data-theme=dark] .app-header .menu-trigger{color:#f8fafc}.app-header .btn,.app-header .icon-button,.app-header .session-pill,.app-header .app-select{height:32px!important;min-height:32px!important;max-height:32px!important;font-size:.7rem!important;line-height:1.2!important}.app-header .btn,.app-header .session-pill{padding:3px 8px!important}.app-header .app-select{padding:3px 6px!important}.app-content{padding-left:16px;padding-right:16px;padding-top:10px!important;padding-bottom:12px;display:flex;flex-direction:column;gap:10px!important}.app-content .responsive-container{padding:0!important;margin:0!important}.welcome-banner{padding:8px 18px!important;gap:18px!important;margin-top:0;margin-bottom:8px;background:var(--banner-overlay),linear-gradient(90deg,var(--banner-gradient-start),var(--banner-gradient-mid),var(--banner-gradient-end))}.welcome-banner__title{font-size:1.4rem!important;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.35)}.welcome-banner__subtitle{font-size:.88rem!important;color:#ffffffd9}.welcome-stat{padding:6px 10px!important;min-width:110px}.app-main-grid{grid-template-columns:minmax(520px,1.25fr) minmax(380px,.75fr);grid-auto-rows:1fr}.app-layout{height:calc(100vh - var(--header-height));display:grid;grid-template-columns:290px 1fr;gap:var(--space-4);align-items:stretch;background:var(--color-bg)}@supports (height: 100dvh){.app-layout{height:calc(100dvh - var(--header-height))}}.app-sidebar,.app-main-column,.app-main-column--history{display:flex;flex-direction:column;padding:16px}.app-sidebar__scroll,.app-main-column,.app-main-column--history{flex:1;overflow:auto}@media (max-height:640px){.welcome-banner{display:none}}@media (max-width:1080px){.app-layout,.app-main-grid{grid-template-columns:1fr}}.container{max-width:100%;padding-left:12px;padding-right:12px}.app-main-grid{grid-template-columns:minmax(520px,1fr) minmax(580px,1.15fr)}.app-main-column--history,.app-main-column{flex:1;overflow:auto;min-height:0}.app-sidebar,.app-main-column,.app-main-column--history{padding:12px}@media (max-height:640px){.app-layout{height:calc(100vh - var(--header-height))}@supports (height: 100dvh){.app-layout{height:calc(100dvh - var(--header-height))}}}.action-buttons,.main-action-group{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);align-items:stretch;justify-content:flex-start;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.action-buttons .action-btn,.main-action-group .action-btn{flex:1 1 220px;min-width:140px}.action-buttons .btn-gerar-proposta .gp-btn-content,.main-action-group .btn-gerar-proposta .gp-btn-content{overflow:visible}.action-buttons .btn-gerar-proposta .gp-badge-juncao,.main-action-group .btn-gerar-proposta .gp-badge-juncao{position:relative}@media (min-width:1101px){.action-buttons,.main-action-group{flex-wrap:nowrap}}@media (max-width:1100px){.action-buttons .action-btn,.main-action-group .action-btn{flex:1 1 calc(50% - var(--space-2))}}@media (max-width:880px){.action-buttons .action-btn,.main-action-group .action-btn{flex:1 1 100%}.action-buttons .action-btn,.main-action-group .action-btn{padding:8px 14px;font-size:.82rem}}@media (max-width:640px){.action-buttons,.main-action-group{flex-direction:column;gap:var(--space-3)}.action-buttons .action-btn,.main-action-group .action-btn{flex:1 1 100%;width:100%;min-width:100%;font-size:15px;padding:14px 20px;min-height:48px}.action-buttons .btn-gerar-proposta,.main-action-group .btn-gerar-proposta{min-height:52px;font-size:16px;font-weight:600}}.action-btn:disabled{background:var(--color-neutral-200);color:var(--color-neutral-500);border-color:var(--color-neutral-300);opacity:1}.action-btn--ghost{--_bg: transparent;--_color: var(--color-primary);--_border: var(--color-primary-soft)}.action-btn--ghost:hover:not(:disabled){background:var(--color-primary-soft)}.app-layout{align-items:stretch}.app-layout>.app-sidebar,.app-layout>.app-main-grid{height:100%;min-height:0}.app-main-grid{height:100%;min-height:0;display:grid;grid-template-columns:minmax(520px,1fr) minmax(580px,1.15fr)}@media (max-width:1280px){.app-main-grid{grid-template-columns:1fr}}.app-main-grid>.app-main-column,.app-main-grid>.app-main-column--history{display:flex;flex-direction:column;min-height:0}.app-main-grid>.app-main-column .action-buttons{flex-shrink:0}.app-layout{height:calc(100vh - 160px);max-height:calc(100vh - 160px);margin-top:10px!important;margin-bottom:10px!important}.app-sidebar{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-sidebar__scroll{flex:1;min-height:0;overflow-y:auto}.app-main-grid>.app-main-column,.app-main-grid>.app-main-column--history{height:100%;overflow-y:auto;overflow-x:hidden}[data-theme=dark]{--banner-gradient-start:hsl(222 60% 46%);--banner-gradient-mid:hsl(248 57% 44%);--banner-gradient-end:hsl(272 55% 42%);--banner-overlay: linear-gradient(rgba(255,255,255,.06), rgba(255,255,255,.05))}.app-header__brand-logo img,.app-header__brand-logo svg{display:block;max-height:100%}[data-theme=dark] .app-header__brand-logo img,[data-theme=dark] .app-header__brand-logo svg{filter:brightness(1.25) contrast(1.12)}[data-theme=dark] .welcome-banner__subtitle{color:#f1f5f9!important;text-shadow:0 1px 2px rgba(0,0,0,.55);opacity:.95}[data-theme=dark] .welcome-banner{box-shadow:0 8px 26px -10px #0000008c}[data-theme=dark]{--color-text-soft: #cbd5e1;--color-text-mute: #94a3b8}*:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:4px;transition:outline .15s ease}[data-theme=dark] *:focus-visible{outline-color:#60a5fa;box-shadow:0 0 0 5px #60a5fa26}button:focus-visible,.btn:focus-visible,.action-btn:focus-visible,.icon-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}[data-theme=dark] button:focus-visible,[data-theme=dark] .btn:focus-visible,[data-theme=dark] .action-btn:focus-visible,[data-theme=dark] .icon-button:focus-visible{outline-color:#60a5fa;box-shadow:0 0 0 5px #60a5fa26}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;box-shadow:0 0 0 4px #2563eb1a}*:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-9999px;left:-9999px;background:var(--color-primary);color:#fff;padding:8px 16px;text-decoration:none;border-radius:4px;z-index:10000;font-weight:600;font-size:.9rem;transition:top .3s ease,left .3s ease;box-shadow:0 4px 12px #0003}.skip-link:focus{top:10px;left:10px;outline:3px solid #fff;outline-offset:2px}.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}.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.btn:hover:not(:disabled),.action-btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-1px);transition:all .2s ease}.btn:active:not(:disabled),.action-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000001a}.is-loading{position:relative;pointer-events:none}.is-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;border-radius:inherit;animation:pulse 1.5s ease-in-out infinite}[data-theme=dark] .is-loading:after{background:#00000080}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.9}}button:disabled,.btn:disabled,.action-btn:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.6;filter:grayscale(.3);position:relative}button:disabled:hover:after,.btn:disabled:hover:after,.action-btn:disabled:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--color-neutral-900);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0003}[data-theme=dark] button:disabled:hover:after,[data-theme=dark] .btn:disabled:hover:after,[data-theme=dark] .action-btn:disabled:hover:after{background:var(--color-neutral-100);color:var(--color-neutral-900)}::placeholder{color:var(--color-text-mute);opacity:1}[data-theme=dark] ::placeholder{color:#64748b}.icon-button,.btn svg,.action-btn svg{color:currentColor;opacity:.9}.icon-button:hover svg,.btn:hover svg,.action-btn:hover svg{opacity:1}.tokens-usage-admin{padding:20px;max-width:1400px;margin:0 auto}.tokens-title{font-size:24px;font-weight:600;color:var(--color-text-primary, #0f172a);margin-bottom:24px;display:flex;align-items:center;gap:8px}.tokens-loading,.tokens-error,.tokens-empty{padding:40px 20px;text-align:center;font-size:16px;color:var(--color-text-secondary, #64748b)}.tokens-error{color:var(--color-danger, #dc2626);background:var(--color-danger-light, #fee2e2);border-radius:8px}.tokens-filters{display:flex;gap:16px;align-items:flex-end;margin-bottom:24px;padding:16px;background:var(--color-surface, #f8fafc);border-radius:8px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:160px}.filter-group label{font-size:13px;font-weight:500;color:var(--color-text-secondary, #64748b)}.filter-group select{padding:8px 12px;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.filter-group select:hover{border-color:var(--color-primary, #3b82f6)}.filter-group select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.filter-actions{display:flex;gap:8px;margin-left:auto}.btn-filter-apply,.btn-filter-clear{padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-filter-apply{background:var(--color-primary, #3b82f6);color:#fff}.btn-filter-apply:hover{background:var(--color-primary-dark, #2563eb)}.btn-filter-clear{background:var(--color-surface-variant, #e2e8f0);color:var(--color-text-primary, #0f172a)}.btn-filter-clear:hover{background:var(--color-surface-variant-dark, #cbd5e1)}.tokens-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:#fff;border:1px solid var(--color-border, #e2e8f0);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d}.summary-card h3{font-size:16px;font-weight:600;color:var(--color-text-primary, #0f172a);margin-bottom:16px}.summary-table{width:100%;border-collapse:collapse}.summary-table thead th{text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #64748b);padding:8px;border-bottom:2px solid var(--color-border, #e2e8f0);text-transform:uppercase;letter-spacing:.5px}.summary-table tbody td{padding:10px 8px;font-size:14px;border-bottom:1px solid var(--color-border-light, #f1f5f9)}.summary-table tbody tr:hover{background:var(--color-surface, #f8fafc)}.tokens-table-container{background:#fff;border:1px solid var(--color-border, #e2e8f0);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.tokens-table{width:100%;border-collapse:collapse}.tokens-table thead{background:var(--color-surface, #f8fafc)}.tokens-table thead th{text-align:left;font-size:13px;font-weight:600;color:var(--color-text-secondary, #64748b);padding:12px 16px;border-bottom:2px solid var(--color-border, #e2e8f0);white-space:nowrap}.tokens-table tbody td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--color-border-light, #f1f5f9);vertical-align:middle}.tokens-row{transition:background-color .15s}.tokens-row:hover{background:var(--color-surface-hover, #f1f5f9)}.btn-expand{background:transparent;border:none;color:var(--color-primary, #3b82f6);font-size:12px;cursor:pointer;padding:4px 8px;transition:transform .2s}.btn-expand:hover{transform:scale(1.2)}.tokens-username{font-weight:500;color:var(--color-text-primary, #0f172a)}.tokens-session{font-family:Courier New,monospace;font-size:12px;color:var(--color-text-secondary, #64748b)}.tokens-type .badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.badge-micro{background:#dbeafe;color:#1e40af}.badge-pequena{background:#dcfce7;color:#166534}.badge-media{background:#fef3c7;color:#92400e}.badge-grande{background:#fce7f3;color:#9f1239}.tokens-number{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;color:var(--color-text-primary, #0f172a)}.tokens-total{font-weight:600;color:var(--color-primary, #3b82f6)}.tokens-cost{text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;font-weight:500;color:var(--color-success, #059669)}.tokens-steps{text-align:center;color:var(--color-text-secondary, #64748b)}.tokens-date{font-size:12px;color:var(--color-text-secondary, #64748b);white-space:nowrap}.tokens-row-expanded td{padding:0!important;background:var(--color-surface, #f8fafc)}.tokens-details{padding:20px;border-top:1px solid var(--color-border, #e2e8f0)}.tokens-details h4{font-size:14px;font-weight:600;color:var(--color-text-primary, #0f172a);margin-bottom:12px}.tokens-details-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.tokens-details-table thead th{background:var(--color-surface-variant, #e2e8f0);text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary, #64748b);padding:8px 12px;text-transform:uppercase;letter-spacing:.5px}.tokens-details-table tbody td{padding:10px 12px;font-size:13px;border-bottom:1px solid var(--color-border-light, #f1f5f9)}.tokens-details-table tbody tr:last-child td{border-bottom:none}.tokens-details-table tbody tr:hover{background:var(--color-surface, #f8fafc)}.tokens-model{font-family:Courier New,monospace;font-size:12px;color:var(--color-text-secondary, #64748b)}@media (max-width: 1200px){.tokens-table{font-size:13px}.tokens-table thead th,.tokens-table tbody td{padding:10px 12px}}@media (max-width: 768px){.tokens-filters{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.filter-actions{margin-left:0;width:100%}.filter-actions button{flex:1}.tokens-summary{grid-template-columns:1fr}.tokens-table-container{overflow-x:auto}.tokens-table{min-width:1000px}}[data-theme=dark] .tokens-usage-admin,[data-theme=dark] .tokens-title{color:var(--color-text-primary-dark, #f1f5f9)}[data-theme=dark] .tokens-filters{background:var(--color-surface-dark, #1e293b)}[data-theme=dark] .filter-group select{background:var(--color-surface-variant-dark, #334155);color:var(--color-text-primary-dark, #f1f5f9);border-color:var(--color-border-dark, #475569)}[data-theme=dark] .summary-card,[data-theme=dark] .tokens-table-container{background:var(--color-surface-dark, #1e293b);border-color:var(--color-border-dark, #475569)}[data-theme=dark] .tokens-table thead{background:var(--color-surface-variant-dark, #334155)}[data-theme=dark] .tokens-row:hover{background:var(--color-surface-hover-dark, #334155)}[data-theme=dark] .tokens-row-expanded td{background:var(--color-surface-variant-dark, #334155)}[data-theme=dark] .tokens-details{border-top-color:var(--color-border-dark, #475569)}[data-theme=dark] .tokens-details-table{background:var(--color-surface-dark, #1e293b)}[data-theme=dark] .tokens-details-table thead th{background:var(--color-surface-variant-dark, #334155)}.product-tour-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;pointer-events:none;animation:tourFadeIn .3s ease-out}.product-tour-overlay-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}[data-theme=dark] .product-tour-overlay-svg rect[fill]{fill:#000000d9}@keyframes tourFadeIn{0%{opacity:0}to{opacity:1}}.product-tour-spotlight{position:fixed;border-radius:8px;border:4px solid var(--color-primary);box-shadow:0 0 0 2px #fffc,0 0 30px 4px var(--color-primary),inset 0 0 20px 2px #ffffff1a;pointer-events:none;z-index:999999!important;animation:spotlightPulse 2s ease-in-out infinite;transition:all .4s cubic-bezier(.4,0,.2,1);background:transparent}[data-theme=dark] .product-tour-spotlight{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px #ffffff4d,0 0 24px 3px var(--color-primary-hover),inset 0 0 20px 2px #ffffff0d}@keyframes spotlightPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}.product-tour-tooltip{position:fixed;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:12px;box-shadow:0 8px 24px #00000026,0 2px 8px #0000001a;max-width:420px;min-width:320px;z-index:10001;pointer-events:auto;animation:tooltipSlideIn .4s cubic-bezier(.4,0,.2,1);transition:all .3s ease}[data-theme=dark] .product-tour-tooltip{background:#1e293b;box-shadow:0 8px 32px #0009,0 2px 12px #0006,0 0 0 1px #ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes tooltipSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.product-tour-tooltip:before{content:"";position:absolute;width:0;height:0;border:10px solid transparent}.product-tour-tooltip.bottom:before{top:-20px;left:50%;transform:translate(-50%);border-bottom-color:var(--color-primary)}.product-tour-tooltip.top:before{bottom:-20px;left:50%;transform:translate(-50%);border-top-color:var(--color-primary)}.product-tour-tooltip.left:before{right:-20px;top:50%;transform:translateY(-50%);border-left-color:var(--color-primary)}.product-tour-tooltip.right:before{left:-20px;top:50%;transform:translateY(-50%);border-right-color:var(--color-primary)}.product-tour-tooltip.center:before{display:none}.product-tour-tooltip__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-primary-subtle) 0%,transparent 100%)}[data-theme=dark] .product-tour-tooltip__header{background:linear-gradient(135deg,#3b82f626,#1e293bf2);border-bottom:1px solid rgba(255,255,255,.1)}.product-tour-tooltip__title{display:flex;align-items:center;gap:var(--space-2);font-size:18px;font-weight:600;color:var(--color-text)}.product-tour-tooltip__icon{font-size:24px;display:flex;align-items:center;justify-content:center}.product-tour-tooltip__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-soft);border-radius:6px;cursor:pointer;font-size:20px;transition:all .2s ease;flex-shrink:0}.product-tour-tooltip__close:hover{background:var(--color-surface-hover);color:var(--color-text);transform:scale(1.1)}.product-tour-tooltip__close:active{transform:scale(.95)}.product-tour-tooltip__content{padding:var(--space-4);color:var(--color-text);font-size:15px;line-height:1.6}.product-tour-tooltip__content p{margin:0 0 var(--space-3) 0}.product-tour-tooltip__content p:last-child{margin-bottom:0}.product-tour-tooltip__content ul{margin:var(--space-2) 0;padding-left:var(--space-4)}.product-tour-tooltip__content li{margin:var(--space-2) 0;color:var(--color-text-soft)}.product-tour-tooltip__content strong{color:var(--color-primary);font-weight:600}.product-tour-tooltip__content code{background:var(--color-surface-alt);padding:2px 6px;border-radius:4px;font-family:Monaco,Courier New,monospace;font-size:13px;color:var(--color-primary);border:1px solid var(--color-border)}.product-tour-tooltip__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-surface-alt)}[data-theme=dark] .product-tour-tooltip__footer{background:#ffffff05}.product-tour-tooltip__progress{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.product-tour-tooltip__progress-text{font-size:12px;font-weight:600;color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.5px}.product-tour-tooltip__progress-bar{display:flex;gap:6px;align-items:center}.product-tour-tooltip__progress-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1)}.product-tour-tooltip__progress-dot.active{background:var(--color-primary);transform:scale(1.2);box-shadow:0 0 8px var(--color-primary)}.product-tour-tooltip__actions{display:flex;gap:var(--space-2)}.product-tour-btn{padding:var(--space-2) var(--space-4);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:90px;display:flex;align-items:center;justify-content:center}.product-tour-btn--primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #3b82f64d}.product-tour-btn--primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.product-tour-btn--primary:active{transform:translateY(0);box-shadow:0 1px 4px #3b82f64d}.product-tour-btn--secondary{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border)}.product-tour-btn--secondary:hover{background:var(--color-surface-alt);border-color:var(--color-primary);color:var(--color-primary)}.product-tour-btn--secondary:active{transform:scale(.98)}@media (max-width: 768px){.product-tour-tooltip{max-width:calc(100vw - 32px);min-width:calc(100vw - 32px);left:16px!important;right:16px!important}.product-tour-tooltip__content{font-size:14px}.product-tour-tooltip__footer{flex-direction:column;gap:var(--space-3)}.product-tour-tooltip__progress{width:100%;align-items:center}.product-tour-tooltip__actions{width:100%;justify-content:stretch}.product-tour-btn{flex:1}}@media (prefers-reduced-motion: reduce){.product-tour-overlay,.product-tour-tooltip,.product-tour-spotlight{animation:none;transition:none}}.product-tour-btn:focus-visible,.product-tour-tooltip__close:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4, 20px);min-height:100px}.loading-spinner__circle{width:40px;height:40px;border:3px solid var(--color-border, #e0e0e0);border-top-color:var(--color-primary, #007bff);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner--small .loading-spinner__circle{width:24px;height:24px;border-width:2px}.loading-spinner--large .loading-spinner__circle{width:56px;height:56px;border-width:4px}.loading-spinner__message{margin-top:var(--space-3, 12px);color:var(--color-text-muted, #666);font-size:14px;text-align:center}.skeleton-bar{background:linear-gradient(90deg,var(--color-surface-alt, #f5f5f5) 25%,var(--color-border, #e0e0e0) 50%,var(--color-surface-alt, #f5f5f5) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm, 4px);height:16px;margin-bottom:var(--space-2, 8px)}.skeleton-bar--title{width:60%;height:24px;margin-bottom:var(--space-3, 12px)}.skeleton-bar--label{width:40%;height:14px;margin-bottom:var(--space-1, 4px)}.skeleton-bar--input{width:100%;height:40px}.skeleton-bar--full{width:100%}.skeleton-bar--three-quarters{width:75%}.skeleton-bar--half{width:50%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.modal-skeleton{padding:var(--space-4, 20px);min-height:200px}.modal-skeleton__header{margin-bottom:var(--space-4, 20px);padding-bottom:var(--space-3, 12px);border-bottom:1px solid var(--color-border, #e0e0e0)}.modal-skeleton__content{margin-bottom:var(--space-3, 12px)}.modal-skeleton__message{text-align:center;color:var(--color-text-muted, #666);font-size:14px;margin-top:var(--space-4, 20px)}.form-skeleton{padding:var(--space-3, 12px)}.form-skeleton__row{margin-bottom:var(--space-4, 20px)}.form-skeleton__message{text-align:center;color:var(--color-text-muted, #666);font-size:14px;margin-top:var(--space-3, 12px)}.panel-skeleton{padding:var(--space-4, 20px);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff)}.panel-skeleton__message{text-align:center;color:var(--color-text-muted, #666);font-size:14px;margin-top:var(--space-4, 20px)}.minimal-loader{display:flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px)}.minimal-loader__dot{width:8px;height:8px;background:var(--color-primary, #007bff);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.minimal-loader__dot:nth-child(1){animation-delay:-.32s}.minimal-loader__dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@media (prefers-color-scheme: dark){.loading-spinner__circle{border-color:#ffffff1a;border-top-color:var(--color-primary, #4a9eff)}.skeleton-bar{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%}}@media (max-width: 768px){.modal-skeleton,.panel-skeleton{padding:var(--space-3, 12px)}.loading-spinner{padding:var(--space-3, 12px);min-height:80px}}:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#102a43;background-color:#f3f6fb;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;background:radial-gradient(circle at top left,#eef2ff,#f3f6fb 45%,#fff);color:inherit;min-height:100vh}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column;position:relative}.app-header{position:fixed;inset:0 0 auto 0;height:64px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,23,42,.06);z-index:1200}.app-header__left,.app-header__center,.app-header__right{display:flex;align-items:center;gap:18px}.app-header__center-llm{display:flex;align-items:center;gap:10px}.icon-button{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;border:none;background:transparent;color:inherit;cursor:pointer;transition:background .2s ease,color .2s ease}.icon-button:hover,.link-button:hover{background:#3b82f61f;color:#1d4ed8}.icon-button--menu{font-size:20px}.app-header__menu-wrapper{position:relative}.app-header__dropdown{position:absolute;top:46px;left:0;min-width:280px;padding:8px 0;background:#fff;border-radius:18px;box-shadow:0 24px 48px -24px #0f172a59;border:1px solid rgba(15,23,42,.08);z-index:2000;overflow:hidden}.dropdown-separator{height:1px;margin:4px 0;background:#0f172a14}.dropdown-item{width:100%;border:none;background:transparent;padding:12px 20px;display:flex;align-items:center;gap:10px;font-size:.95rem;text-align:left;color:#0f172a;cursor:pointer;transition:background .2s ease,color .2s ease}.dropdown-item--bordered{border-top:1px solid rgba(15,23,42,.08);margin-top:4px}.dropdown-item+.dropdown-item{border-top:1px solid rgba(15,23,42,.08)}.dropdown-item:hover{background:#3b82f61f;color:#1d4ed8}.session-pill{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:6px 14px;border-radius:999px;font-weight:600;border:1px solid rgba(217,119,6,.25)}.link-button{border:none;background:transparent;display:inline-flex;align-items:center;gap:8px;font-size:.95rem;color:#1f2937;padding:8px 12px;border-radius:12px;cursor:pointer;transition:background .2s ease,color .2s ease}.link-button:disabled{cursor:default;opacity:.55;background:transparent;color:#94a3b8}.link-button--danger{color:#dc2626}.link-button--danger:hover{background:#dc26261f;color:#b91c1c}.app-content{flex:1;padding:96px 32px 32px;display:flex;flex-direction:column;gap:24px}.app-select{padding:8px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.12);background:#fff;font-size:.9rem;color:#0f172a;transition:border .2s ease,box-shadow .2s ease}.app-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.welcome-banner{background:linear-gradient(135deg,#3b82f62e,#3b82f614);border:1px solid rgba(59,130,246,.12);border-radius:24px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#0f172a;box-shadow:0 18px 40px -28px #0f172a73}.welcome-banner__text{flex:1;display:flex;flex-direction:column;gap:10px}.welcome-banner__greeting{font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#1d4ed8}.welcome-banner__title{font-size:1.95rem;font-weight:700;margin:0}.welcome-banner__subtitle{margin:0;color:#1f2937;font-size:1.05rem}.welcome-banner__stats{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:16px;flex:1}.welcome-stat{background:#ffffffe6;border-radius:20px;padding:18px;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;box-shadow:inset 0 1px #fff9}.welcome-stat__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.welcome-stat__value{font-size:1.75rem;font-weight:700;color:#0f172a}.welcome-stat__hint{font-size:.85rem;color:#475569}.app-body{display:flex;gap:24px;width:100%;height:calc(100vh - 220px);overflow:hidden}.app-sidebar{flex:0 0 300px;background:#ffffffeb;border-radius:24px;padding:24px;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;box-shadow:0 12px 32px -20px #0f172a66;overflow:hidden}.app-sidebar__title{margin:0 0 12px;font-size:1.2rem;font-weight:600}.app-sidebar__actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.app-sidebar__scroll{flex:1;overflow-y:auto;padding-right:8px;margin-right:-8px}.app-main-column{flex:1;display:flex;flex-direction:column;background:#ffffffeb;border-radius:24px;padding:24px 28px 28px;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 32px -20px #0f172a66;overflow:hidden}.app-main-column--history{overflow-y:auto;padding:24px}@media (max-width: 1280px){.welcome-banner{flex-direction:column;align-items:flex-start}.welcome-banner__stats{width:100%;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.app-body{flex-direction:column;height:auto}.app-sidebar,.app-main-column{width:100%;flex:none;height:auto}.app-sidebar__scroll{max-height:320px}}@media (max-width: 768px){.app-header{padding:0 16px}.app-content{padding:88px 16px 24px}.welcome-banner{padding:24px}}:root{--breakpoint-xs: 0px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--grid-gap-mobile: 12px;--grid-gap-tablet: 16px;--grid-gap-desktop: 24px;--container-padding-mobile: 16px;--container-padding-tablet: 24px;--container-padding-desktop: 32px;--font-size-base-mobile: 14px;--font-size-base-desktop: 16px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--button-min-height-mobile: 40px;--button-min-height-desktop: 44px;--input-min-height-mobile: 40px;--input-min-height-desktop: 44px;--touch-target-min: 44px}.responsive-container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--container-padding-mobile);padding-right:var(--container-padding-mobile)}@media (min-width: 640px){.responsive-container{max-width:var(--container-sm);padding-left:var(--container-padding-tablet);padding-right:var(--container-padding-tablet)}}@media (min-width: 768px){.responsive-container{max-width:var(--container-md)}}@media (min-width: 1024px){.responsive-container{max-width:var(--container-lg);padding-left:var(--container-padding-desktop);padding-right:var(--container-padding-desktop)}}@media (min-width: 1280px){.responsive-container{max-width:var(--container-xl)}}@media (min-width: 1536px){.responsive-container{max-width:var(--container-2xl)}}.grid{display:grid;gap:var(--grid-gap-mobile);width:100%}@media (min-width: 768px){.grid{gap:var(--grid-gap-tablet)}}@media (min-width: 1024px){.grid{gap:var(--grid-gap-desktop)}}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}@media (min-width: 768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-6{grid-column:span 6 / span 6}.col-span-12{grid-column:span 12 / span 12}.col-span-full{grid-column:1 / -1}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-6{grid-column:span 6 / span 6}.md\:col-span-12{grid-column:span 12 / span 12}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:col-span-12{grid-column:span 12 / span 12}}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}@media (min-width: 768px){.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:gap-4{gap:16px}.md\:gap-6{gap:24px}.md\:gap-8{gap:32px}}@media (min-width: 1024px){.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:gap-6{gap:24px}.lg\:gap-8{gap:32px}}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.md\:block{display:block}.md\:hidden{display:none}.hide-desktop{display:none!important}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:hidden{display:none}}.w-full{width:100%}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}@media (min-width: 768px){.md\:w-auto{width:auto}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}}@media (min-width: 1024px){.lg\:w-auto{width:auto}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}}.p-0{padding:0}.p-2{padding:8px}.p-4{padding:16px}.p-6{padding:24px}.p-8{padding:32px}.px-2{padding-left:8px;padding-right:8px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.py-2{padding-top:8px;padding-bottom:8px}.py-4{padding-top:16px;padding-bottom:16px}.py-6{padding-top:24px;padding-bottom:24px}@media (min-width: 768px){.md\:p-4{padding:16px}.md\:p-6{padding:24px}.md\:p-8{padding:32px}.md\:px-6{padding-left:24px;padding-right:24px}.md\:py-6{padding-top:24px;padding-bottom:24px}}@media (min-width: 1024px){.lg\:p-6{padding:24px}.lg\:p-8{padding:32px}.lg\:px-8{padding-left:32px;padding-right:32px}.lg\:py-8{padding-top:32px;padding-bottom:32px}}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-base{font-size:16px}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-3xl{font-size:30px}@media (min-width: 768px){.md\:text-base{font-size:16px}.md\:text-lg{font-size:18px}.md\:text-xl{font-size:20px}.md\:text-2xl{font-size:24px}.md\:text-3xl{font-size:30px}}@media (min-width: 1024px){.lg\:text-lg{font-size:18px}.lg\:text-xl{font-size:20px}.lg\:text-2xl{font-size:24px}.lg\:text-3xl{font-size:30px}.lg\:text-4xl{font-size:36px}}.app-content{padding:var(--container-padding-mobile)}@media (min-width: 768px){.app-content{padding:var(--container-padding-tablet)}}@media (min-width: 1024px){.app-content{padding:var(--container-padding-desktop)}}.form-group{margin-bottom:16px}@media (min-width: 768px){.form-group{margin-bottom:20px}}.input,select,textarea{font-size:14px;padding:10px 12px}@media (min-width: 768px){.input,select,textarea{font-size:15px;padding:12px 14px}}html{font-size:var(--font-size-base-mobile);line-height:var(--line-height-normal)}@media (min-width: 768px){html{font-size:15px}}@media (min-width: 1024px){html{font-size:var(--font-size-base-desktop)}}body{line-height:var(--line-height-normal)}@media (min-width: 1024px){body{line-height:var(--line-height-relaxed)}}h1{font-size:1.75rem;line-height:var(--line-height-tight);margin-bottom:1rem}@media (min-width: 768px){h1{font-size:2rem}}@media (min-width: 1024px){h1{font-size:2.25rem;line-height:var(--line-height-normal)}}h2{font-size:1.5rem;line-height:var(--line-height-tight);margin-bottom:.875rem}@media (min-width: 768px){h2{font-size:1.75rem}}@media (min-width: 1024px){h2{font-size:2rem;line-height:var(--line-height-normal)}}h3{font-size:1.25rem;line-height:var(--line-height-tight);margin-bottom:.75rem}@media (min-width: 768px){h3{font-size:1.5rem}}@media (min-width: 1024px){h3{font-size:1.75rem}}h4{font-size:1.125rem;line-height:var(--line-height-tight);margin-bottom:.5rem}@media (min-width: 1024px){h4{font-size:1.25rem;line-height:var(--line-height-normal)}}p{margin-bottom:.75rem;line-height:var(--line-height-normal)}@media (min-width: 1024px){p{margin-bottom:1rem;line-height:var(--line-height-relaxed)}}.btn,button{font-size:14px;padding:10px 16px;min-height:var(--button-min-height-mobile);line-height:var(--line-height-tight)}@media (min-width: 768px){.btn,button{font-size:15px;padding:11px 18px;min-height:42px}}@media (min-width: 1024px){.btn,button{font-size:15px;padding:12px 20px;min-height:var(--button-min-height-desktop)}}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],select,textarea{font-size:14px;padding:10px 12px;min-height:var(--input-min-height-mobile);line-height:var(--line-height-normal)}@media (min-width: 768px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],select,textarea{font-size:15px;padding:11px 14px;min-height:42px}}@media (min-width: 1024px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],select,textarea{font-size:16px;padding:12px 16px;min-height:var(--input-min-height-desktop)}}label{font-size:13px;font-weight:500;line-height:var(--line-height-tight)}@media (min-width: 1024px){label{font-size:14px;line-height:var(--line-height-normal)}}small,.text-sm{font-size:12px;line-height:var(--line-height-normal)}@media (min-width: 1024px){small,.text-sm{font-size:13px}}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}@media (min-width: 1024px){.mb-1{margin-bottom:.375rem}.mb-2{margin-bottom:.75rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-6{margin-bottom:2rem}.mb-8{margin-bottom:3rem}}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}@media (min-width: 1024px){.mt-1{margin-top:.375rem}.mt-2{margin-top:.75rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-6{margin-top:2rem}.mt-8{margin-top:3rem}}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}@media (min-width: 1024px){.gap-1{gap:.375rem}.gap-2{gap:.75rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-6{gap:2rem}.gap-8{gap:3rem}}.touch-target,a,button,[role=button],input[type=checkbox],input[type=radio]{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.btn-link,.link-button,button.link-style{min-width:auto;min-height:auto}.stack{display:flex;flex-direction:column;gap:var(--grid-gap-mobile)}@media (min-width: 1024px){.stack-lg-row{flex-direction:row;gap:var(--grid-gap-desktop)}}.hide-desktop{display:none!important}@media (max-width: 767px){.hide-desktop,.mobile-menu-toggle{display:flex!important}}.mobile-menu-toggle{background:transparent;border:none;font-size:24px;color:var(--color-text, #1f2937);padding:8px;cursor:pointer;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:6px;transition:background-color .2s ease}.mobile-menu-toggle:hover{background-color:var(--color-surface-hover, #f3f4f6)}.mobile-menu-toggle:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.mobile-menu-toggle:active{transform:scale(.95)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px}@media (max-width: 767px){.table-responsive{box-shadow:inset -1px 0 #0000001a;border-radius:8px}.table-responsive table{min-width:600px}.table-responsive thead th{position:sticky;top:0;background-color:var(--color-surface, #f9fafb);z-index:10;box-shadow:0 2px 4px #0000000d}.table-responsive td,.table-responsive th{min-height:44px;padding:12px 16px}.table-responsive:after{content:"→";position:absolute;right:0;top:50%;transform:translateY(-50%);padding:8px 12px;background:linear-gradient(to right,transparent,var(--color-background, #fff) 30%);color:var(--color-text-mute, #9ca3af);pointer-events:none;opacity:.7;font-size:18px}.table-responsive::-webkit-scrollbar{height:8px}.table-responsive::-webkit-scrollbar-track{background:var(--color-surface-alt, #f3f4f6);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb{background:var(--color-border, #d1d5db);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover{background:var(--color-text-mute, #9ca3af)}}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-card{background:var(--color-surface, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:16px;transition:all .2s ease}.session-card:hover{border-color:var(--color-primary, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.session-card--selected{border-color:var(--color-primary, #3b82f6);background:var(--color-primary-50, #eff6ff)}.session-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.session-card__title{font-size:15px;font-weight:600;color:var(--color-text, #1f2937);margin:0;flex:1;word-break:break-word}.session-card__id{font-size:12px;color:var(--color-text-mute, #6b7280);font-family:Monaco,Courier New,monospace;margin-top:4px}.session-card__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border, #e5e7eb)}.session-card__meta-item{display:flex;flex-direction:column;gap:2px}.session-card__label{font-size:11px;color:var(--color-text-soft, #9ca3af);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.session-card__value{font-size:13px;color:var(--color-text, #1f2937);font-weight:500}.session-card__actions{display:flex;gap:8px;margin-top:12px}.session-card__button{flex:1;min-height:44px;padding:10px 16px;font-size:14px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.session-card__button--primary{background:var(--color-primary, #3b82f6);color:#fff;border:none}.session-card__button--primary:hover{background:var(--color-primary-600, #2563eb)}.session-card__button--danger{background:transparent;color:var(--color-danger, #dc2626);border:1px solid var(--color-danger, #dc2626)}.session-card__button--danger:hover{background:var(--color-danger, #dc2626);color:#fff}@media (max-width: 767px){.session-card__button,.table-responsive button,.table-responsive a{min-height:44px;min-width:44px}.sessions-list--mobile-cards{display:flex}.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}}@media (min-width: 768px){.sessions-list--mobile-cards{display:none}.hide-on-mobile{display:block!important}.show-on-mobile{display:none!important}}.table-sticky-header{position:relative}.table-sticky-header thead{position:sticky;top:0;z-index:10;background-color:var(--color-surface, #f9fafb)}.table-sticky-header thead th{background-color:var(--color-surface, #f9fafb);box-shadow:0 2px 4px #0000000d}.table-container{position:relative;overflow:hidden}.table-container--scrollable{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll-indicator{position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--color-background, #fff));pointer-events:none;opacity:0;transition:opacity .3s ease}.table-container--has-scroll .table-scroll-indicator{opacity:1}.table-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}@media (max-width: 767px){.table-actions{flex-direction:column;align-items:stretch}.table-actions button{width:100%}}@media (max-width: 767px){.table{font-size:12px}.table th,.table td{padding:10px 8px}.table td[style*="text-align: right"],.table th[style*="text-align: right"]{text-align:right!important}}.modal-panel:before{content:"";display:none;width:40px;height:4px;background:var(--color-border);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:1}@media (max-width: 640px){.modal-panel:before{display:block}.modal-header{padding-top:calc(var(--space-3) + 12px)}}.mobile-menu-drawer{touch-action:pan-y;-webkit-overflow-scrolling:touch}.pull-to-refresh-indicator{position:fixed;top:var(--header-height, 64px);left:50%;transform:translate(-50%) translateY(-100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:8px 16px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-soft);z-index:5500;transition:transform .3s ease;pointer-events:none}.pull-to-refresh-indicator.visible{transform:translate(-50%) translateY(12px)}.pull-to-refresh-indicator__spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.table-responsive{position:relative}.table-responsive.scrolled-left:before{content:"";position:absolute;left:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,var(--color-surface),transparent);pointer-events:none;z-index:2}.table-responsive.has-overflow:after{content:"→";position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--color-surface);color:var(--color-text-mute);padding:4px 8px;border-radius:var(--radius-sm);font-size:16px;pointer-events:none;opacity:.7;animation:pulse-horizontal 2s ease-in-out infinite}@keyframes pulse-horizontal{0%,to{transform:translateY(-50%) translate(0);opacity:.7}50%{transform:translateY(-50%) translate(4px);opacity:1}}}@media (max-width: 768px){html{scroll-behavior:smooth}.modal-body,.app-sidebar__scroll,.mobile-menu-content,.table-responsive,.app-content{-webkit-overflow-scrolling:touch}.scroll-snap-container{scroll-snap-type:y mandatory;scroll-padding-top:var(--header-height, 64px)}.scroll-snap-item{scroll-snap-align:start;scroll-snap-stop:normal}}@media (max-width: 768px){.btn:active:not(:disabled),.action-btn:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.97);transition:transform .1s ease}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff6;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0}.ripple-effect:active:after{width:200px;height:200px;opacity:1;transition:width 0s,height 0s,opacity 0s}}@supports (padding: env(safe-area-inset-top)){.app-header{padding-top:max(4px,env(safe-area-inset-top))}.modal-overlay{padding-top:max(var(--space-4),env(safe-area-inset-top));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right))}.mobile-menu-drawer{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}@media (max-width: 768px) and (orientation: landscape){.modal-panel{max-width:90%}.app-header{min-height:48px;padding:4px 8px}.mobile-menu-drawer{max-width:320px}}@media (max-width: 768px){.loading-spinner,.spinner{width:40px;height:40px;border-width:3px}.loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-overlay__message{font-size:16px;padding:16px 24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}}@media (max-width: 768px){.empty-state{padding:var(--space-6) var(--space-4)}.empty-state__icon{font-size:48px;margin-bottom:var(--space-3)}.empty-state__title{font-size:18px;margin-bottom:var(--space-2)}.empty-state__description{font-size:14px;line-height:1.6}.empty-state__action{margin-top:var(--space-4);width:100%;max-width:280px}}@media (max-width: 768px){.toast-container,.notification-container{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);width:auto}.toast,.notification{width:100%;max-width:100%;font-size:15px;padding:14px 16px;border-radius:var(--radius-md)}.toast-container--top{top:calc(var(--header-height, 64px) + var(--space-3));bottom:auto}}@media (max-width: 768px){.context-menu,.dropdown-menu{min-width:200px;font-size:15px}.context-menu__item,.dropdown-menu__item{min-height:44px;padding:12px 16px;font-size:15px}.context-menu__icon,.dropdown-menu__icon{font-size:18px}}@media (max-width: 768px){p a,li a,.text-content a{padding:4px 2px;margin:-4px -2px}.skip-link:focus{top:8px;left:8px;padding:12px 16px;font-size:16px;z-index:9999}*:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}}@media (max-width: 768px){.modal-panel,.mobile-menu-drawer,.btn,.action-btn,.toast{will-change:transform;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media (max-width: 768px){[data-theme=dark]{--color-text: #f1f5f9;--color-text-soft: #cbd5e1;--color-bg: #0f172a}[data-theme=light]{--color-surface: #fafafa}}.virtualized-container{position:relative;overflow:hidden;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e0e0e0)}.virtualized-container ::-webkit-scrollbar{width:10px;height:10px}.virtualized-container ::-webkit-scrollbar-track{background:var(--color-surface-alt, #f5f5f5);border-radius:5px}.virtualized-container ::-webkit-scrollbar-thumb{background:var(--color-border, #ccc);border-radius:5px;transition:background .2s ease}.virtualized-container ::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted, #999)}.virtualized-container:focus{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.virtualized-container:focus-visible{box-shadow:0 0 0 3px #007bff40}.virtual-list-item{transition:background .12s ease,transform .12s ease;cursor:pointer}.virtual-list-item:hover{background:var(--color-surface-hover, #f0f0f0)!important;transform:translate(2px)}.virtual-list-item:active{transform:translate(0)}.virtual-list-item--selected{background:var(--color-primary, #007bff)!important;color:var(--color-text-on-primary, #fff)!important;font-weight:600}.virtual-table{font-family:var(--font-family-base, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.virtual-table__header{position:sticky;top:0;z-index:10;background:var(--color-surface-alt, #f5f5f5);border-bottom:2px solid var(--color-border, #ddd);font-weight:600;box-shadow:0 1px 3px #0000000d}.virtual-table__cell{padding:8px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.virtual-table__row{border-bottom:1px solid var(--color-border, #e0e0e0);transition:background .12s ease}.virtual-table__row:hover{background:var(--color-surface-hover, #f8f9fa)!important}.virtual-table__row--selected{background:var(--color-primary-700, #2d3e55)!important;color:var(--color-text-on-primary, #fff)!important;font-weight:600}.virtual-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-4, 20px);color:var(--color-text-muted, #666);font-size:14px}.virtual-loading__spinner{width:20px;height:20px;border:2px solid var(--color-border, #e0e0e0);border-top-color:var(--color-primary, #007bff);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}.virtual-empty{padding:var(--space-5, 40px) var(--space-4, 20px);text-align:center;color:var(--color-text-soft, #999);font-size:14px}.virtualized-container [data-virtualized=true]{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}@media (max-width: 768px){.virtual-table__cell{padding:6px 8px;font-size:12px}.virtualized-container ::-webkit-scrollbar{width:6px;height:6px}}@media (prefers-color-scheme: dark){.virtual-list-item:hover{background:#ffffff14!important}.virtual-table__header{box-shadow:0 1px 3px #0000004d}.virtual-table__row:hover{background:#ffffff0d!important}}@media (prefers-contrast: high){.virtualized-container:focus{outline:3px solid currentColor}.virtual-list-item--selected,.virtual-table__row--selected{outline:2px solid var(--color-text);outline-offset:-2px}}@keyframes spin{to{transform:rotate(360deg)}}.virtual-list-item:focus-visible,.virtual-table__row:focus-visible{outline:2px solid var(--color-primary, #007bff);outline-offset:-2px;z-index:1}.lazy-image-wrapper{position:relative;overflow:hidden;background-color:var(--color-surface-alt, #f5f5f5);border-radius:inherit}.lazy-image{width:100%;height:auto;display:block;transition:opacity .3s ease,filter .3s ease,transform .3s ease}.lazy-image--loading{opacity:.8;filter:blur(10px);transform:scale(1.05)}.lazy-image--loaded{opacity:1;filter:none;transform:scale(1)}.lazy-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface-alt, #f5f5f5);pointer-events:none;z-index:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.logo-image{max-width:180px;height:auto;transition:transform .2s ease}.logo-image:hover{transform:scale(1.05)}@media (max-width: 768px){.logo-image{max-width:140px}}@media (max-width: 480px){.logo-image{max-width:120px}}.avatar-image{border-radius:50%;object-fit:cover}.thumbnail-image{border-radius:8px;object-fit:cover}.hero-image{width:100%;height:auto;object-fit:cover}picture{display:block;line-height:0}picture img{width:100%;height:auto;display:block}@media (prefers-reduced-motion: reduce){.lazy-image{transition:opacity .1s ease;filter:none!important;transform:none!important}.lazy-image--loading{opacity:.9}.lazy-image-placeholder{animation:none}}@media (prefers-color-scheme: dark){.lazy-image-wrapper,.lazy-image-placeholder{background-color:var(--color-surface-alt, #2d2d2d)}}@media (prefers-contrast: high){.lazy-image-wrapper{border:1px solid currentColor}}@media print{.lazy-image{opacity:1!important;filter:none!important;transform:none!important}.lazy-image-placeholder{display:none!important}}.page-transition{width:100%;height:100%}.page-transition *{backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.staggered-list{display:flex;flex-direction:column;gap:.5rem}.page-transition,.staggered-list{will-change:transform,opacity}@media (prefers-reduced-motion: reduce){.page-transition,.staggered-list{animation:none!important;transition:none!important}.page-transition *{animation:none!important;transition:opacity .1s ease!important}}@media (prefers-reduced-motion: no-preference){.page-transition{transform:translateZ(0)}}@media (prefers-contrast: high){.page-transition{transition-property:opacity}}@media print{.page-transition,.staggered-list{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}@media (max-width: 768px){.page-transition{--transition-duration: .25s}}@media (min-width: 769px){.page-transition{--transition-duration: .3s}}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;background:var(--color-primary, #0b3d91);transform-origin:0%;z-index:9999;pointer-events:none}.scroll-progress--bottom{top:auto;bottom:0}.scroll-to-top{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;border:none;background:var(--color-primary, #0b3d91);color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;z-index:1000;transition:all .3s ease;opacity:0;transform:scale(.5);pointer-events:none}.scroll-to-top.visible{opacity:1;transform:scale(1);pointer-events:auto}.scroll-to-top:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.scroll-to-top:active{transform:scale(.95)}.scroll-to-top:focus-visible{outline:2px solid var(--color-primary, #0b3d91);outline-offset:3px}.scroll-to-top--left{right:auto;left:24px}.scroll-to-top--top-right{bottom:auto;top:24px}.scroll-to-top--top-left{bottom:auto;top:24px;right:auto;left:24px}@media (max-width: 768px){.scroll-to-top{width:44px;height:44px;bottom:16px;right:16px}}.sticky-header{position:sticky;top:0;z-index:1000;background:var(--color-surface, #fff);transition:all .3s ease;box-shadow:0 1px 2px #0000000d}.sticky-header.scrolled{box-shadow:0 2px 8px #0000001a}.sticky-header__content{display:flex;align-items:center;padding:0 var(--space-4, 16px);transition:height .3s ease}.reveal{opacity:0;transition:opacity .6s ease,transform .6s ease}.reveal.revealed{opacity:1}.reveal--fade{opacity:0}.reveal--fade.revealed{opacity:1}.reveal--slide-up{opacity:0;transform:translateY(50px)}.reveal--slide-up.revealed{opacity:1;transform:translateY(0)}.reveal--slide-down{opacity:0;transform:translateY(-50px)}.reveal--slide-down.revealed{opacity:1;transform:translateY(0)}.reveal--slide-left{opacity:0;transform:translate(50px)}.reveal--slide-left.revealed{opacity:1;transform:translate(0)}.reveal--slide-right{opacity:0;transform:translate(-50px)}.reveal--slide-right.revealed{opacity:1;transform:translate(0)}.reveal--scale{opacity:0;transform:scale(.8)}.reveal--scale.revealed{opacity:1;transform:scale(1)}.reveal--blur{opacity:0;filter:blur(10px)}.reveal--blur.revealed{opacity:1;filter:blur(0)}.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.2s}.reveal[data-delay="3"]{transition-delay:.3s}.reveal[data-delay="4"]{transition-delay:.4s}.reveal[data-delay="5"]{transition-delay:.5s}.reveal[data-delay="6"]{transition-delay:.6s}.reveal[data-delay="7"]{transition-delay:.7s}.reveal[data-delay="8"]{transition-delay:.8s}.reveal[data-delay="9"]{transition-delay:.9s}.reveal[data-delay="10"]{transition-delay:1s}.parallax-container{position:relative;overflow:hidden}.parallax-layer{will-change:transform}.parallax-background{position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}.parallax-background__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;will-change:transform}.parallax-background__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:1}.parallax-background__content{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;color:#fff}.scroll-snap-container{scroll-snap-type:y mandatory;overflow-y:scroll;height:100vh}.scroll-snap-section{scroll-snap-align:start;scroll-snap-stop:normal;min-height:100vh}.count-up{font-variant-numeric:tabular-nums;letter-spacing:.05em}.section-nav{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:12px}.section-nav__dot{width:12px;height:12px;border-radius:50%;background:var(--color-border, #ddd);border:2px solid transparent;cursor:pointer;transition:all .3s ease}.section-nav__dot:hover{background:var(--color-primary, #0b3d91);transform:scale(1.2)}.section-nav__dot.active{background:var(--color-primary, #0b3d91);border-color:var(--color-primary, #0b3d91);box-shadow:0 0 0 3px #0b3d9133}.section-nav__dot:focus-visible{outline:2px solid var(--color-primary, #0b3d91);outline-offset:3px}@media (max-width: 768px){.section-nav{display:none}}.will-animate{will-change:transform,opacity}.revealed,.parallax-layer:not(.animating){will-change:auto}@media (prefers-color-scheme: dark){.scroll-to-top{background:var(--color-primary, #1e5a9f)}.sticky-header{background:var(--color-surface, #1e1e1e);box-shadow:0 1px 2px #ffffff0d}.sticky-header.scrolled{box-shadow:0 2px 8px #ffffff1a}.section-nav__dot{background:var(--color-border, #3d3d3d)}.section-nav__dot.active{background:var(--color-primary, #1e5a9f);border-color:var(--color-primary, #1e5a9f);box-shadow:0 0 0 3px #1e5a9f4d}}@media (prefers-contrast: high){.scroll-to-top,.section-nav__dot{border:2px solid currentColor}.section-nav__dot.active{background:currentColor}}@media print{.scroll-progress,.scroll-to-top,.section-nav,.sticky-header{display:none!important}.reveal{opacity:1!important;transform:none!important}}.scroll-to-top:focus,.section-nav__dot:focus{outline:2px solid var(--color-primary, #0b3d91);outline-offset:3px}.scroll-to-top:focus:not(:focus-visible),.section-nav__dot:focus:not(:focus-visible){outline:none}.scroll-animations-loading .reveal{opacity:1;transform:none}.no-scroll-animation{animation:none!important;transition:none!important;will-change:auto!important}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}
