.app-topbar{position:sticky;top:0;z-index:90;background:var(--bg-header);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);transition:background var(--transition-normal),border-color var(--transition-normal)}.topbar-container{width:100%;padding:.85rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar-left{display:flex;align-items:center;gap:.75rem}.topbar-page-title{font-family:var(--font-title);font-size:1.25rem;font-weight:700;color:var(--text-main);margin:0;line-height:1.2}.topbar-welcome{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-muted)}.sparkle-icon{color:var(--color-logo-yellow)}.topbar-controls{display:flex;align-items:center;gap:.75rem}.control-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .75rem;border-radius:var(--radius-md);color:var(--text-muted);background-color:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition-fast)}.control-btn:hover{color:var(--text-main);border-color:var(--border-color-hover);background-color:var(--bg-card-hover)}.icon-sun{color:var(--color-logo-yellow)}.icon-moon{color:var(--color-logo-blue)}.lang-text{font-size:.75rem;font-weight:700}.profile-wrapper{position:relative}.profile-btn{display:flex;align-items:center;gap:.6rem;padding:.35rem .6rem;border-radius:var(--radius-lg);background-color:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition-fast)}.profile-btn:hover{border-color:var(--border-color-hover)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-logo-blue)}.user-info-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.user-name{font-size:.85rem;font-weight:600;color:var(--text-main);line-height:1.1}.user-role-badge{font-size:.65rem;font-weight:700;color:var(--color-logo-blue)}.dropdown-arrow{color:var(--text-subtle)}.profile-dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);width:220px;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;z-index:120;animation:fadeIn .2s ease-out}.dropdown-header{padding:.4rem .6rem;font-size:.75rem;font-weight:600;color:var(--text-subtle);border-bottom:1px solid var(--border-color);margin-bottom:.4rem;word-break:break-all}.dropdown-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:var(--radius-sm);text-align:left;transition:background-color var(--transition-fast);color:var(--text-main)}.dropdown-item:hover{background-color:var(--bg-card-hover)}.btn-logout-item:hover{color:var(--color-logo-red)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-sidebar{width:250px;height:100vh;position:fixed;top:0;left:0;background-color:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;padding:1.25rem 1rem;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:.5rem;cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.sidebar-brand:hover{background-color:var(--bg-card-hover)}.sidebar-logo{width:34px;height:34px;object-fit:contain;border-radius:8px}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-title{font-family:var(--font-title);font-weight:700;font-size:1.05rem;color:var(--text-main);line-height:1.2}.sidebar-teams-tag{font-size:.65rem;font-weight:600;color:var(--color-logo-blue);background-color:var(--color-logo-blue-light);padding:.1rem .4rem;border-radius:var(--radius-full);margin-top:.2rem;display:inline-block;width:fit-content}.sidebar-action-wrapper{margin-top:1.25rem;margin-bottom:1.25rem}.sidebar-btn-new{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;background:linear-gradient(135deg,var(--color-logo-blue) 0%,#2563eb 100%);color:#fff;padding:.75rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;box-shadow:0 4px 12px #4285f44d;transition:all var(--transition-fast)}.sidebar-btn-new:hover{transform:translateY(-1px);box-shadow:0 6px 16px #4285f466;background:linear-gradient(135deg,var(--color-logo-blue-hover) 0%,#1d4ed8 100%)}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto;padding-right:.2rem}.nav-group-section{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.6rem}.nav-group-label{font-size:.72rem;font-weight:600;text-transform:uppercase;color:var(--text-subtle);padding:.5rem .75rem .2rem;letter-spacing:.06em}.nav-node-wrapper{display:flex;flex-direction:column}.sidebar-nav-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.62rem .85rem;border-radius:var(--radius-md);color:var(--text-muted);font-weight:500;font-size:.9rem;transition:all var(--transition-fast);position:relative;text-align:left;background:transparent;border:none;cursor:pointer}.sidebar-nav-item:hover{color:var(--text-main);background-color:var(--bg-card-hover)}.sidebar-nav-item.child-active{color:var(--text-main);font-weight:600}.sidebar-nav-item.active{color:var(--color-logo-blue);background-color:var(--color-logo-blue-light);font-weight:600}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:15%;height:70%;width:3.5px;background-color:var(--color-logo-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.sidebar-nav-item.level-2{font-size:.85rem;padding:.52rem .75rem;gap:.65rem}.sidebar-nav-item.level-2.active:before{left:0;width:3px;height:60%;top:20%}.nav-icon{flex-shrink:0}.sub-nav-icon{opacity:.85}.nav-text{flex:1;text-align:left}.sidebar-chevron{flex-shrink:0;color:var(--text-subtle);transition:transform var(--transition-fast)}.sidebar-chevron.rotated{transform:rotate(90deg);color:var(--text-muted)}.sidebar-submenu{display:flex;flex-direction:column;gap:.2rem;margin-left:1.45rem;padding-left:.65rem;border-left:1.5px solid var(--border-color);margin-top:.15rem;margin-bottom:.35rem;animation:submenuFadeIn .18s ease-in-out}@keyframes submenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sidebar-badge{background-color:var(--color-logo-red);color:#fff;font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:var(--radius-full)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.user-mini-card{display:flex;align-items:center;gap:.75rem;padding:.4rem;border-radius:var(--radius-md)}.user-mini-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1.5px solid var(--border-color)}.user-mini-info{display:flex;flex-direction:column;overflow:hidden}.user-mini-name{font-size:.85rem;font-weight:600;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-mini-role{font-size:.7rem;color:var(--text-subtle)}.request-list-view{max-width:1280px;margin:0 auto;padding:1.5rem}.list-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.list-title-section{display:flex;align-items:center;gap:.75rem}.list-title-section h2{font-family:var(--font-title);font-size:1.4rem;font-weight:700;color:var(--text-main)}.count-tag{background-color:var(--color-logo-blue-light);color:var(--color-logo-blue);font-size:.8rem;font-weight:700;padding:.2rem .6rem;border-radius:var(--radius-full)}.list-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.search-box{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.75rem;color:var(--text-subtle)}.search-box input{padding-left:2.2rem;width:260px}.filter-group{display:flex;align-items:center;gap:.4rem;background-color:var(--bg-card);padding:.25rem;border-radius:var(--radius-md);border:1px solid var(--border-color)}.filter-icon{color:var(--text-subtle);margin:0 .3rem}.filter-pill{padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;color:var(--text-muted);transition:all var(--transition-fast)}.filter-pill:hover{color:var(--text-main);background-color:var(--bg-card-hover)}.filter-pill.active{background-color:var(--bg-card-hover);color:var(--text-main);font-weight:600}.pill-pending.active{color:var(--color-logo-yellow-dark);background-color:var(--color-logo-yellow-light)}.pill-approved.active{color:var(--color-logo-green);background-color:var(--color-logo-green-light)}.pill-rejected.active{color:var(--color-logo-red);background-color:var(--color-logo-red-light)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px dashed var(--border-color);color:var(--text-muted)}.empty-icon{color:var(--text-subtle);margin-bottom:1rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.request-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;position:relative;overflow:hidden}.request-card:hover{transform:translateY(-2px);border-color:var(--border-color-hover);box-shadow:var(--shadow-md)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.req-number{font-family:monospace;font-size:.8rem;font-weight:600;color:var(--text-subtle)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.badge-approved{background-color:var(--color-logo-green-light);color:var(--color-logo-green)}.badge-pending{background-color:var(--color-logo-yellow-light);color:var(--color-logo-yellow-dark)}.badge-rejected{background-color:var(--color-logo-red-light);color:var(--color-logo-red)}.badge-draft{background-color:var(--bg-card-hover);color:var(--text-muted)}.card-title{font-size:1.05rem;font-weight:600;color:var(--text-main);margin-bottom:.75rem;line-height:1.4}.card-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;color:var(--text-muted);font-size:.82rem}.meta-item{display:flex;align-items:center;gap:.35rem}.card-footer{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.amount-tag{display:flex;flex-direction:column}.amount-label{font-size:.7rem;color:var(--text-subtle)}.amount-value{font-family:var(--font-title);font-size:1.1rem;font-weight:700;color:var(--color-logo-blue)}.card-arrow-btn{display:flex;align-items:center;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--text-muted);transition:color var(--transition-fast)}.request-card:hover .card-arrow-btn{color:var(--color-logo-blue)}.attachment-uploader-widget{display:flex;flex-direction:column;gap:10px;width:100%}.uploader-error-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);font-size:.82rem}.btn-close-error{margin-left:auto;background:transparent;border:none;color:#ef4444;cursor:pointer}.uploader-drop-area{border:2px dashed var(--border-color, #e2e8f0);border-radius:10px;background:var(--bg-surface, #ffffff);padding:16px;text-align:center;cursor:pointer;transition:all .2s ease-in-out}.uploader-drop-area:hover,.uploader-drop-area.drag-active{border-color:var(--accent-primary, #2563eb);background:var(--accent-light, rgba(37, 99, 235, .04))}.uploader-drop-area.is-uploading{opacity:.8;cursor:wait}.drop-content{display:flex;flex-direction:column;align-items:center;gap:6px}.upload-icon{color:var(--accent-primary, #2563eb)}.drop-text{display:flex;flex-direction:column;gap:2px}.drop-text .primary-text{font-size:.88rem;font-weight:600;color:var(--text-primary, #1e293b)}.drop-text .sub-text{font-size:.78rem;color:var(--text-muted, #64748b)}.attachment-uploader-widget.is-compact .uploader-drop-area{padding:8px 12px}.drop-content-compact{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.84rem;color:var(--text-secondary, #475569)}.uploader-file-list{display:flex;flex-direction:column;gap:6px}.uploader-file-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--bg-hover, #f8fafc);border:1px solid var(--border-color, #e2e8f0);transition:background .2s}.uploader-file-item:hover{background:var(--bg-surface, #ffffff)}.file-type-icon{color:var(--accent-primary, #2563eb);flex-shrink:0}.file-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.file-name{font-size:.85rem;font-weight:500;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.75rem;color:var(--text-muted, #64748b);flex-shrink:0}.file-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.btn-icon-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-surface, #ffffff);color:var(--text-secondary, #475569);cursor:pointer;text-decoration:none;transition:all .2s}.btn-icon-action:hover{color:var(--accent-primary, #2563eb);border-color:var(--accent-primary, #2563eb);background:var(--accent-light, rgba(37, 99, 235, .1))}.btn-icon-action.copied{color:#10b981;border-color:#10b981;background:#10b9811a}.btn-icon-action.btn-delete:hover{color:#ef4444;border-color:#ef4444;background:#ef44441a}.spin-icon{animation:spin 1s linear infinite;color:var(--accent-primary, #2563eb)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background-color:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease-out}.modal-container{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-family:var(--font-title);font-size:1.25rem;font-weight:700;color:var(--text-main)}.close-btn{color:var(--text-muted);padding:.25rem;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.close-btn:hover{color:var(--color-logo-red)}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.form-select{width:100%;cursor:pointer}.items-section{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.items-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.items-section-header h3{font-size:.9rem;font-weight:700;color:var(--text-main)}.btn-add-line{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--color-logo-blue);background-color:var(--color-logo-blue-light);padding:.3rem .65rem;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.btn-add-line:hover{background-color:#4285f433}.items-table-wrapper{overflow-x:auto;margin-bottom:.75rem}.items-table{width:100%;border-collapse:collapse}.items-table th{text-align:left;font-size:.75rem;font-weight:600;color:var(--text-subtle);padding:.4rem .5rem;border-bottom:1px solid var(--border-color)}.items-table td{padding:.4rem .5rem}.items-table input,.items-table select{width:100%;padding:.4rem .6rem;font-size:.85rem}.btn-delete-row{color:var(--color-logo-red);padding:.3rem;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.btn-delete-row:hover{background-color:var(--color-logo-red-light)}.total-sum-bar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-muted);padding-top:.5rem;border-top:1px dashed var(--border-color)}.sum-value{font-family:var(--font-title);font-size:1.15rem;font-weight:800;color:var(--color-logo-blue)}.file-upload-box{position:relative;border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;background-color:var(--bg-card);color:var(--text-muted);transition:all var(--transition-fast)}.file-upload-box:hover{border-color:var(--color-logo-blue);color:var(--color-logo-blue)}.upload-icon{color:var(--color-logo-blue)}.file-input-hidden{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-badges-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.file-badge{display:inline-flex;align-items:center;gap:.4rem;background-color:var(--color-logo-blue-light);color:var(--color-logo-blue);font-size:.78rem;font-weight:600;padding:.25rem .6rem;border-radius:var(--radius-full)}.file-name{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-primary{display:inline-flex;align-items:center;gap:.4rem;background-color:var(--color-logo-blue);color:#fff;font-weight:600;padding:.6rem 1.25rem;border-radius:var(--radius-md);box-shadow:0 2px 8px #4285f459;transition:all var(--transition-fast)}.btn-primary:hover{background-color:var(--color-logo-blue-hover)}.btn-secondary{padding:.6rem 1.25rem;border-radius:var(--radius-md);font-weight:600;color:var(--text-muted);background-color:var(--bg-card-hover);border:1px solid var(--border-color);transition:all var(--transition-fast)}.btn-secondary:hover{color:var(--text-main)}.detail-view-container{max-width:1280px;margin:0 auto;padding:1.5rem}.detail-top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.btn-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;color:var(--text-muted);background-color:var(--bg-card);border:1px solid var(--border-color);padding:.45rem .85rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-back:hover{color:var(--text-main);border-color:var(--border-color-hover)}.req-header-meta{display:flex;align-items:center;gap:.6rem}.req-num-badge{font-family:monospace;font-size:.85rem;font-weight:600;color:var(--text-subtle)}.status-pill{font-size:.78rem;font-weight:700;padding:.25rem .75rem;border-radius:var(--radius-full)}.status-approved{background-color:var(--color-logo-green-light);color:var(--color-logo-green)}.status-pending{background-color:var(--color-logo-yellow-light);color:var(--color-logo-yellow-dark)}.status-rejected{background-color:var(--color-logo-red-light);color:var(--color-logo-red)}.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:1.5rem}.left-column,.right-column{display:flex;flex-direction:column;gap:1.25rem}.card-box{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.card-box h3{font-family:var(--font-title);font-size:1.05rem;font-weight:700;color:var(--text-main);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.req-main-title{font-family:var(--font-title);font-size:1.4rem;font-weight:800;color:var(--text-main);margin-bottom:1rem;line-height:1.3}.applicant-profile-bar{display:flex;align-items:center;gap:.75rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color)}.applicant-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover}.profile-text{display:flex;flex-direction:column}.profile-name{font-size:.92rem;font-weight:700;color:var(--text-main)}.profile-email{font-size:.78rem;color:var(--text-muted)}.created-time-tag{margin-left:auto;display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-subtle)}.amount-banner{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.banner-left{display:flex;flex-direction:column}.banner-label{font-size:.75rem;font-weight:600;color:var(--text-subtle)}.banner-value{font-family:var(--font-title);font-size:1.75rem;font-weight:800;color:var(--color-logo-blue)}.banner-reason{font-size:.85rem;color:var(--text-muted);border-top:1px dashed var(--border-color);padding-top:.5rem}.reason-label{font-weight:600;color:var(--text-main)}.table-responsive{overflow-x:auto}.detail-table{width:100%;border-collapse:collapse}.detail-table th{text-align:left;font-size:.78rem;font-weight:600;color:var(--text-subtle);padding:.6rem;border-bottom:1px solid var(--border-color)}.detail-table td{padding:.75rem .6rem;border-bottom:1px solid var(--border-color);font-size:.88rem}.category-badge{background-color:var(--color-logo-blue-light);color:var(--color-logo-blue);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:var(--radius-full)}.amount-cell{font-family:var(--font-title);font-weight:700;color:var(--text-main)}.att-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;color:var(--color-logo-blue);background-color:var(--color-logo-blue-light);padding:.2rem .5rem;border-radius:var(--radius-sm)}.no-att-text{font-size:.78rem;color:var(--text-subtle)}.comments-list{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1rem;max-height:280px;overflow-y:auto}.comment-item{display:flex;align-items:flex-start;gap:.75rem}.comment-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover}.comment-bubble{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.6rem .85rem;flex:1}.comment-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.comment-author{font-size:.82rem;font-weight:700;color:var(--text-main)}.comment-time{font-size:.7rem;color:var(--text-subtle)}.comment-content{font-size:.85rem;color:var(--text-muted)}.comment-input-box{display:flex;gap:.5rem}.comment-input-box input{flex:1}.btn-send-comment{display:inline-flex;align-items:center;gap:.35rem;background-color:var(--color-logo-blue);color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-md)}.action-toolbar-card{background:linear-gradient(135deg,#4285f41a,#34a8531a);border:1px solid var(--color-logo-blue)}.toolbar-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.shield-icon{color:var(--color-logo-blue)}.toolbar-header h4{font-size:.95rem;font-weight:700;color:var(--text-main)}.sub-text{font-size:.78rem;color:var(--text-muted)}.action-buttons{display:flex;gap:.75rem}.btn-approve{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;background-color:var(--color-logo-green);color:#fff;font-weight:700;padding:.65rem;border-radius:var(--radius-md);box-shadow:0 2px 8px #34a85359;transition:background-color var(--transition-fast)}.btn-approve:hover{background-color:var(--color-logo-green-hover)}.btn-reject{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;background-color:var(--color-logo-red);color:#fff;font-weight:700;padding:.65rem;border-radius:var(--radius-md);box-shadow:0 2px 8px #ea433559;transition:background-color var(--transition-fast)}.btn-reject:hover{background-color:var(--color-logo-red-hover)}.timeline-steps-list{display:flex;flex-direction:column}.timeline-step-item{display:flex;gap:.9rem}.step-left{display:flex;flex-direction:column;align-items:center}.node-indicator{z-index:2;background-color:var(--bg-card);border-radius:var(--radius-full)}.icon-approved{color:var(--color-logo-green)}.icon-pending{color:var(--color-logo-yellow-dark)}.icon-pending.pulse{animation:pulse 1.8s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}to{transform:scale(1);opacity:1}}.icon-rejected{color:var(--color-logo-red)}.icon-skipped{color:var(--text-subtle)}.step-connector{width:2px;flex:1;background-color:var(--border-color);margin:4px 0}.step-right{padding-bottom:1.25rem;flex:1}.step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.node-name{font-size:.88rem;font-weight:700;color:var(--text-main)}.node-status-tag{font-size:.7rem;font-weight:700;text-transform:uppercase}.approver-info{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-muted)}.step-comment-box{background-color:var(--input-bg);border-left:3px solid var(--color-logo-blue);padding:.35rem .6rem;border-radius:var(--radius-sm);margin-top:.35rem;font-size:.8rem;font-style:italic;color:var(--text-main)}.step-time{font-size:.7rem;color:var(--text-subtle);display:block;margin-top:.2rem}.action-modal textarea{width:100%}.btn-danger{background-color:var(--color-logo-red)}@media (max-width: 900px){.detail-grid{grid-template-columns:1fr}}.template-management-view{display:flex;flex-direction:column;gap:1.5rem}.tmpl-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.tmpl-header-left h2{font-family:var(--font-title);font-size:1.5rem;font-weight:700;color:var(--text-main)}.tmpl-header-sub{font-size:.88rem;color:var(--text-muted);margin-top:.2rem}.tmpl-header-actions{display:flex;align-items:center;gap:.75rem}.tmpl-search-box{position:relative;display:flex;align-items:center}.tmpl-search-box input{padding-left:2.2rem;width:240px}.tmpl-search-box .search-icon{position:absolute;left:.75rem;color:var(--text-subtle);pointer-events:none}.btn-add-template{display:flex;align-items:center;gap:.5rem;background-color:var(--color-logo-blue);color:#fff;padding:.6rem 1.1rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;transition:all var(--transition-fast);box-shadow:0 4px 12px #4285f440}.btn-add-template:hover{background-color:var(--color-logo-blue-hover);transform:translateY(-1px);box-shadow:0 6px 16px #4285f459}.tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.tmpl-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.tmpl-card:hover{border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.tmpl-card.inactive{opacity:.65;background-color:var(--input-bg)}.tmpl-card-top{display:flex;align-items:center;justify-content:space-between}.tmpl-icon-wrapper{width:44px;height:44px;border-radius:var(--radius-md);background-color:var(--bg-card-hover);display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color)}.color-blue{color:var(--color-logo-blue)}.color-green{color:var(--color-logo-green)}.color-yellow{color:var(--color-logo-yellow)}.color-purple{color:#8b5cf6}.badge-active{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--color-logo-green);background-color:var(--color-logo-green-light);padding:.2rem .6rem;border-radius:var(--radius-full)}.badge-disabled{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--text-subtle);background-color:var(--bg-card-hover);padding:.2rem .6rem;border-radius:var(--radius-full)}.tmpl-card-body{display:flex;flex-direction:column;gap:.4rem}.tmpl-name{font-size:1.1rem;font-weight:700;color:var(--text-main)}.tmpl-code-pill{font-family:monospace;font-size:.75rem;font-weight:600;color:var(--text-subtle);background-color:var(--input-bg);padding:.15rem .4rem;border-radius:var(--radius-sm);width:fit-content}.tmpl-badges-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tmpl-entity-pill{font-size:.72rem;font-weight:600;color:#4f46e5;background-color:#4f46e514;border:1px solid rgba(79,70,229,.2);padding:.15rem .5rem;border-radius:var(--radius-sm);width:fit-content}.tmpl-desc{font-size:.85rem;color:var(--text-muted);line-height:1.4;margin-top:.3rem}.tmpl-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.tmpl-action-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:500;padding:.4rem .75rem;border-radius:var(--radius-md);color:var(--text-muted);border:1px solid var(--border-color);transition:all var(--transition-fast)}.tmpl-action-btn:hover{color:var(--text-main);background-color:var(--bg-card-hover);border-color:var(--border-color-hover)}.tmpl-action-btn.primary{color:var(--color-logo-blue);background-color:var(--color-logo-blue-light);border-color:transparent}.tmpl-action-btn.primary:hover{background-color:var(--color-logo-blue);color:#fff}.tmpl-empty-card{grid-column:1 / -1;padding:3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-subtle);background-color:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.tmpl-modal-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-lg);overflow:hidden;animation:modalScale .25s ease-out}@keyframes modalScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-title{display:flex;align-items:center;gap:.6rem;color:var(--text-main)}.modal-title h3{font-family:var(--font-title);font-size:1.15rem;font-weight:700}.btn-close-modal{color:var(--text-subtle);padding:.3rem;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.btn-close-modal:hover{color:var(--text-main)}.tmpl-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-main)}.required{color:var(--color-logo-red)}.form-hint{font-size:.75rem;color:var(--text-subtle)}.checkbox-group{flex-direction:row;align-items:center}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-main);cursor:pointer}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-cancel{padding:.6rem 1.2rem;border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-muted);font-weight:500}.btn-cancel:hover{background-color:var(--bg-card-hover);color:var(--text-main)}.btn-submit{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius-md);background-color:var(--color-logo-blue);color:#fff;font-weight:600;transition:all var(--transition-fast)}.btn-submit:hover:not(:disabled){background-color:var(--color-logo-blue-hover)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.attachment-manager-page{display:flex;flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:8px 0 32px}.attachment-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a}.header-title-group{display:flex;align-items:center;gap:14px}.header-icon{color:var(--accent-primary, #2563eb);background:var(--accent-light, rgba(37, 99, 235, .1));padding:10px;border-radius:12px;box-sizing:content-box}.header-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.header-subtitle{font-size:.85rem;color:var(--text-muted);margin:0}.header-subtitle code{background:var(--bg-hover);padding:2px 6px;border-radius:4px;font-family:monospace;color:var(--accent-primary, #2563eb)}.endpoint-config-card{display:flex;flex-direction:column;gap:6px}.endpoint-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.endpoint-input-wrapper{display:flex;align-items:center;gap:8px}.endpoint-input{width:260px;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-main);color:var(--text-primary);font-size:.85rem;outline:none;transition:border-color .2s}.endpoint-input:focus{border-color:var(--accent-primary, #2563eb)}.btn-refresh-list{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh-list:hover:not(:disabled){background:var(--accent-light, rgba(37, 99, 235, .1));color:var(--accent-primary, #2563eb);border-color:var(--accent-primary, #2563eb)}.status-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:.88rem;font-weight:500}.banner-success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.banner-error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.banner-info{background:#2563eb1a;color:#2563eb;border:1px solid rgba(37,99,235,.2)}.upload-dropzone{border:2px dashed var(--border-color);border-radius:14px;background:var(--bg-surface);padding:36px 20px;text-align:center;cursor:pointer;transition:all .2s ease-in-out;position:relative}.upload-dropzone:hover,.upload-dropzone.drag-active{border-color:var(--accent-primary, #2563eb);background:var(--accent-light, rgba(37, 99, 235, .04))}.hidden-file-input{display:none}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:10px}.dropzone-icon{color:var(--accent-primary, #2563eb);margin-bottom:4px}.dropzone-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0}.dropzone-hint{font-size:.85rem;color:var(--text-muted);margin:0}.btn-browse-file{margin-top:8px;padding:8px 20px;border:none;border-radius:8px;background:var(--accent-primary, #2563eb);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #2563eb4d;transition:opacity .2s}.btn-browse-file:hover:not(:disabled){opacity:.9}.file-list-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.card-header-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-main)}.card-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.domain-badge{font-size:.78rem;font-weight:600;background:var(--accent-light, rgba(37, 99, 235, .1));color:var(--accent-primary, #2563eb);padding:4px 10px;border-radius:20px}.empty-files-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-muted);gap:12px}.empty-icon{opacity:.4}.files-table-container{overflow-x:auto}.files-table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}.files-table th{background:var(--bg-main);color:var(--text-secondary);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--border-color);white-space:nowrap}.files-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.cell-filename{max-width:200px}.filename-wrapper{display:flex;align-items:center;gap:8px}.file-icon{color:var(--accent-primary, #2563eb);flex-shrink:0}.file-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-tag{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--bg-hover);color:var(--text-secondary);font-size:.75rem;font-family:monospace}.cell-size,.cell-date{color:var(--text-muted);font-size:.83rem;white-space:nowrap}.url-copy-box{display:flex;align-items:center;gap:6px;max-width:380px}.url-input{flex:1;padding:4px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-main);color:var(--text-muted);font-size:.78rem;font-family:monospace;outline:none}.btn-copy{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface);color:var(--text-primary);font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-copy:hover{background:var(--accent-primary, #2563eb);color:#fff;border-color:var(--accent-primary, #2563eb)}.btn-copy.copied{background:#10b981;color:#fff;border-color:#10b981}.action-btn-group{display:flex;align-items:center;justify-content:flex-end;gap:8px}.btn-action-view,.btn-action-delete{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-action-view:hover{color:var(--accent-primary, #2563eb);border-color:var(--accent-primary, #2563eb);background:var(--accent-light, rgba(37, 99, 235, .1))}.btn-action-delete:hover{color:#ef4444;border-color:#ef4444;background:#ef44441a}.user-picker-wrapper{position:relative;width:100%}.user-picker-trigger{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-surface, #ffffff);cursor:pointer;min-height:42px;transition:all .2s}.user-picker-trigger:hover,.user-picker-trigger.is-open{border-color:var(--accent-primary, #2563eb)}.user-picker-trigger.is-disabled{opacity:.6;cursor:not-allowed}.selected-user-card{display:flex;align-items:center;gap:10px}.user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.user-text-info{display:flex;flex-direction:column}.user-name{font-size:.85rem;font-weight:600;color:var(--text-primary, #1e293b);line-height:1.2}.user-email{font-size:.73rem;color:var(--text-muted, #64748b);line-height:1.2}.picker-placeholder{display:flex;align-items:center;gap:8px;color:var(--text-muted, #94a3b8);font-size:.85rem}.arrow-icon{color:var(--text-muted, #94a3b8);transition:transform .2s}.arrow-icon.rotate{transform:rotate(180deg)}.user-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:var(--bg-surface, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;box-shadow:0 4px 16px #0000001a;overflow:hidden;display:flex;flex-direction:column}.dropdown-search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-main, #f8fafc)}.search-icon{color:var(--text-muted, #94a3b8)}.search-input{border:none;background:transparent;width:100%;font-size:.83rem;outline:none;color:var(--text-primary, #1e293b)}.user-options-list{max-height:200px;overflow-y:auto}.no-users-found{padding:12px;text-align:center;font-size:.82rem;color:var(--text-muted, #94a3b8)}.user-option-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .15s}.user-option-item:hover,.user-option-item.selected{background:var(--accent-light, rgba(37, 99, 235, .08))}.check-icon{margin-left:auto;color:var(--accent-primary, #2563eb)}.email-tag-input-container{display:flex;flex-direction:column;gap:4px;width:100%}.tag-input-box{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-surface, #ffffff);min-height:42px;transition:border-color .2s}.tag-input-box:focus-within{border-color:var(--accent-primary, #2563eb)}.tag-input-box.is-disabled{opacity:.6;cursor:not-allowed}.mail-icon{color:var(--text-muted, #94a3b8);margin-top:4px;flex-shrink:0}.tags-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1}.email-tag-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:16px;background:var(--accent-light, rgba(37, 99, 235, .1));color:var(--accent-primary, #2563eb);font-size:.78rem;font-weight:500}.tag-text{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-tag{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--accent-primary, #2563eb);cursor:pointer;padding:1px;border-radius:50%}.btn-remove-tag:hover{background:#2563eb33}.real-text-input{flex:1;min-width:140px;border:none;outline:none;background:transparent;font-size:.85rem;color:var(--text-primary, #1e293b)}.email-input-error{font-size:.75rem;color:#ef4444;padding-left:4px}.dynamic-form-container{display:flex;flex-direction:column;gap:20px;width:100%}.schema-description{font-size:.88rem;color:var(--text-muted, #64748b);margin:0 0 8px;line-height:1.5}.form-fields-stack{display:flex;flex-direction:column;gap:20px}.form-field-group{display:flex;flex-direction:column;gap:6px}.field-label{display:flex;align-items:center;gap:4px;font-size:.9rem;font-weight:600;color:var(--text-primary, #1e293b)}.required-asterisk{color:#ef4444}.field-help-text{font-size:.78rem;color:var(--text-muted, #94a3b8);margin-bottom:2px}.field-control-wrapper{width:100%}.form-control-input,.form-control-select,.form-control-textarea{width:100%;padding:10px 14px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-surface, #ffffff);color:var(--text-primary, #1e293b);font-size:.88rem;outline:none;transition:border-color .2s;box-sizing:border-box}.form-control-input:focus,.form-control-select:focus,.form-control-textarea:focus{border-color:var(--accent-primary, #2563eb)}.form-control-input.is-invalid,.form-control-select.is-invalid,.form-control-textarea.is-invalid{border-color:#ef4444}.multiselect-pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill-option-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border-color, #e2e8f0);border-radius:20px;background:var(--bg-surface, #ffffff);color:var(--text-secondary, #475569);font-size:.83rem;font-weight:500;cursor:pointer;transition:all .2s}.pill-option-btn:hover{background:var(--bg-hover, #f8fafc);border-color:var(--accent-primary, #2563eb)}.pill-option-btn.active{background:var(--accent-light, rgba(37, 99, 235, .1));color:var(--accent-primary, #2563eb);border-color:var(--accent-primary, #2563eb);font-weight:600}.check-mark{display:none}.check-mark.show{display:inline-block}.field-error-msg{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#ef4444;margin-top:2px}.dynamic-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;padding-top:16px;border-top:1px solid var(--border-color, #e2e8f0)}.btn-cancel{padding:10px 20px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-surface, #ffffff);color:var(--text-secondary, #475569);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:var(--bg-hover, #f8fafc)}.btn-submit-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border:none;border-radius:8px;background:var(--accent-primary, #2563eb);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #2563eb4d;transition:opacity .2s}.btn-submit-primary:hover:not(:disabled){opacity:.9}.contract-review-page{display:flex;flex-direction:column;gap:20px;max-width:960px;margin:0 auto;padding:8px 0 40px}.contract-header-card{display:flex;align-items:center;gap:16px;background:var(--bg-surface, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #0000000a}.header-icon-box{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:12px;background:var(--accent-light, rgba(37, 99, 235, .1));color:var(--accent-primary, #2563eb);flex-shrink:0}.header-text-group{display:flex;flex-direction:column;gap:4px}.title-row{display:flex;align-items:center;gap:12px}.page-title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.badge-legal{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:20px;background:#10b9811a;color:#10b981;font-size:.78rem;font-weight:600}.page-subtitle{font-size:.85rem;color:var(--text-muted, #64748b);margin:0}.success-toast-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2);font-size:.88rem;font-weight:600}.form-card-wrapper{background:var(--bg-surface, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:28px;box-shadow:0 2px 8px #0000000a}.user-picker-container{position:relative;width:100%;font-family:inherit;-webkit-user-select:none;user-select:none}.user-picker-trigger{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:.35rem .75rem;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);gap:.5rem}.user-picker-trigger:hover{border-color:var(--border-color-hover);background-color:var(--bg-card)}.user-picker-container.is-open .user-picker-trigger{border-color:var(--color-logo-blue);box-shadow:0 0 0 3px #4285f426;background-color:var(--bg-card)}.user-picker-container.is-disabled .user-picker-trigger{opacity:.6;cursor:not-allowed;background-color:#0000000d}.trigger-content-wrapper{flex:1;display:flex;align-items:center;overflow:hidden}.user-picker-placeholder{color:var(--text-subtle);font-size:.85rem}.single-selected-display{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-avatar-circle{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.68rem;font-weight:700;flex-shrink:0;letter-spacing:-.5px}.selected-user-name{font-weight:600;color:var(--text-main)}.selected-user-email{font-size:.78rem;color:var(--text-muted)}.multiple-chips-container{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;width:100%}.selected-user-chip{display:inline-flex;align-items:center;gap:.35rem;background-color:#4285f41a;border:1px solid rgba(66,133,244,.25);border-radius:var(--radius-full);padding:.15rem .55rem .15rem .2rem;font-size:.78rem;color:var(--color-logo-blue);font-weight:600;animation:fadeInChip .15s ease-out}@keyframes fadeInChip{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.chip-avatar-circle{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.55rem;font-weight:800;flex-shrink:0}.chip-user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-remove-btn{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;color:var(--color-logo-blue);border-radius:50%;opacity:.7;transition:opacity var(--transition-fast),background-color var(--transition-fast)}.chip-remove-btn:hover{opacity:1;background-color:#4285f433}.trigger-actions-wrapper{display:flex;align-items:center;gap:.35rem;flex-shrink:0;color:var(--text-subtle)}.user-picker-clear-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;color:var(--text-subtle);transition:color var(--transition-fast)}.user-picker-clear-btn:hover{color:#ea4335}.picker-chevron-arrow{transition:transform var(--transition-fast)}.picker-chevron-arrow.arrow-flipped{transform:rotate(180deg)}.user-picker-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1050;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;overflow:hidden;animation:dropdownSlideIn .18s cubic-bezier(.16,1,.3,1)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-search-header{position:relative;padding:.65rem .75rem;border-bottom:1px solid var(--border-color);background-color:var(--input-bg)}.dropdown-search-box{display:flex;align-items:center;height:38px;padding:0 .65rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);gap:.55rem;transition:all var(--transition-fast);box-sizing:border-box}.dropdown-search-box:focus-within{border-color:var(--color-logo-blue);box-shadow:0 0 0 2px #4285f429}.search-prefix-icon{color:var(--text-subtle);flex-shrink:0}.dropdown-search-input{flex:1;height:100%;border:none;background:transparent;outline:none;font-size:.88rem;color:var(--text-main);padding:0;line-height:normal}.dropdown-search-input::placeholder{color:var(--text-subtle);font-size:.85rem}.search-clear-btn{background:none;border:none;cursor:pointer;color:var(--text-subtle);display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;transition:color var(--transition-fast)}.search-clear-btn:hover{color:var(--text-main)}.dropdown-users-list{max-height:250px;overflow-y:auto;padding:.35rem}.dropdown-users-list::-webkit-scrollbar{width:5px}.dropdown-users-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.dropdown-user-item{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.dropdown-user-item:hover{background-color:var(--nav-hover-bg)}.dropdown-user-item.is-selected{background-color:#4285f414}.item-avatar-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.item-info-column{flex:1;display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.item-name-row{display:flex;align-items:center;gap:.45rem}.item-full-name{font-size:.85rem;font-weight:600;color:var(--text-main)}.item-role-tag{font-size:.65rem;font-weight:700;padding:.05rem .4rem;background-color:#4285f41f;color:var(--color-logo-blue);border-radius:var(--radius-sm)}.item-email-address{font-size:.74rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-check-indicator{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.check-icon{color:var(--color-logo-blue)}.dropdown-loading-box,.dropdown-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem .75rem;color:var(--text-subtle);font-size:.82rem}.dropdown-empty-box .empty-icon{opacity:.4}.loading-spinner-circle{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--color-logo-blue);border-radius:50%;animation:spinLoading .75s linear infinite}@keyframes spinLoading{to{transform:rotate(360deg)}}.dropdown-footer-bar{display:flex;align-items:center;justify-content:space-between;padding:.45rem .75rem;border-top:1px solid var(--border-color);background-color:var(--input-bg);font-size:.75rem}.selected-summary-text{color:var(--text-muted);font-weight:600}.footer-clear-btn{background:none;border:none;cursor:pointer;color:#ea4335;font-size:.75rem;font-weight:600;padding:0}.footer-clear-btn:hover{text-decoration:underline}.admin-setup-view{max-width:1320px;margin:0 auto;padding:1.5rem}.admin-header-flex{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-header-flex h2{font-family:var(--font-title);font-size:1.45rem;font-weight:800;color:var(--text-main);margin-bottom:.25rem}.admin-sub{font-size:.85rem;color:var(--text-muted)}.admin-header-actions{display:flex;align-items:center;gap:.75rem}.btn-action-primary{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--color-logo-blue);color:#fff;border:none;border-radius:var(--radius-md);padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 6px #4285f440}.btn-action-primary:hover{background-color:#3367d6;transform:translateY(-1px)}.btn-action-outline{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.6rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-action-outline:hover,.btn-action-outline.active{border-color:var(--color-logo-blue);color:var(--color-logo-blue);background-color:var(--color-logo-blue-light)}.admin-toast-banner{display:flex;align-items:center;gap:.6rem;background-color:var(--color-logo-green-light);color:var(--color-logo-green);border:1px solid rgba(52,168,83,.3);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.88rem;font-weight:600;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-grid{display:grid;grid-template-columns:310px 1fr;gap:1.5rem}.template-list-card,.workflow-nodes-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem}.card-title-bar{display:flex;align-items:center;gap:.5rem;font-family:var(--font-title);font-size:1rem;font-weight:700;color:var(--text-main);padding-bottom:.75rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color)}.card-title-flex{justify-content:space-between}.title-left{display:flex;align-items:center;gap:.5rem}.node-count-badge{font-size:.75rem;font-weight:600;background-color:var(--bg-card-hover);color:var(--text-muted);padding:.2rem .6rem;border-radius:var(--radius-full);border:1px solid var(--border-color)}.template-items{display:flex;flex-direction:column;gap:.6rem}.template-item-btn{display:flex;align-items:center;justify-content:space-between;padding:.8rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--input-bg);text-align:left;transition:all var(--transition-fast);cursor:pointer;width:100%}.template-item-btn:hover{border-color:var(--border-color-hover);background-color:var(--bg-card-hover)}.template-item-btn.active{border-color:var(--color-logo-blue);background-color:var(--color-logo-blue-light)}.tmpl-info{display:flex;flex-direction:column;gap:.2rem}.tmpl-name{font-size:.88rem;font-weight:700;color:var(--text-main)}.tmpl-code{font-size:.72rem;color:var(--text-subtle);font-family:monospace}.active-icon{color:var(--color-logo-green)}.nodes-flow-list{display:flex;flex-direction:column;gap:1.25rem}.node-rule-card{display:flex;align-items:stretch;gap:1.25rem;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.1rem;transition:all var(--transition-fast);position:relative}.node-rule-card:hover{border-color:var(--border-color-hover);box-shadow:0 4px 12px #0000000a}.node-rule-card.sim-match{border-color:#34a85380;background-color:#34a8530a}.node-rule-card.sim-skipped{opacity:.65;border-style:dashed;border-color:#ea433559;background-color:#ea433505}.node-step-indicator{display:flex;flex-direction:column;align-items:center;position:relative;width:36px}.step-circle{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--color-logo-blue),#2b6cb0);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:800;box-shadow:0 2px 6px #4285f44d;z-index:2}.step-connector-line{position:absolute;top:36px;bottom:-22px;width:2px;background-color:var(--border-color);z-index:1}.node-body{display:flex;flex-direction:column;gap:.5rem;flex:1}.node-body-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.node-title-group{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.node-title{font-size:.98rem;font-weight:700;color:var(--text-main);margin:0}.approver-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:var(--radius-sm)}.approver-badge.type-manager{background-color:#4285f41f;color:var(--color-logo-blue);border:1px solid rgba(66,133,244,.25)}.approver-badge.type-role{background-color:#9333ea1f;color:#9333ea;border:1px solid rgba(147,51,234,.25)}.approver-badge.type-specific_user{background-color:#34a8531f;color:var(--color-logo-green);border:1px solid rgba(52,168,83,.25)}.approver-badge.type-entity_field{background-color:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.25)}.node-actions-group{display:flex;align-items:center;gap:.35rem}.node-tool-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.node-tool-btn:hover:not(:disabled){border-color:var(--color-logo-blue);color:var(--color-logo-blue);background-color:var(--color-logo-blue-light)}.node-tool-btn.edit:hover{border-color:var(--color-logo-blue);color:var(--color-logo-blue)}.node-tool-btn.delete:hover{border-color:#ea4335;color:#ea4335;background-color:#ea433514}.node-tool-btn:disabled{opacity:.35;cursor:not-allowed}.node-approver-detail{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-muted)}.meta-icon{color:var(--text-subtle)}.condition-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:var(--radius-md);font-size:.78rem;width:fit-content}.pill-conditional{background-color:#fbbc051f;color:#b78103;border:1px solid rgba(251,188,5,.3)}.pill-always{background-color:var(--bg-card);color:var(--text-subtle);border:1px solid var(--border-color)}.nodes-loading-state,.empty-nodes-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;gap:.75rem}.empty-node-icon{color:var(--text-subtle);opacity:.5}.empty-nodes-container h4{font-size:1.05rem;font-weight:700;color:var(--text-main);margin:0}.empty-nodes-container p{font-size:.85rem;color:var(--text-muted);max-width:380px;margin-bottom:.5rem}.loading-spinner{width:28px;height:28px;border:3px solid var(--border-color);border-top-color:var(--color-logo-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal-box{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:600px;box-shadow:0 12px 36px #0003;display:flex;flex-direction:column;max-height:90vh;animation:modalScale .2s ease-out}.modal-box-small{max-width:440px}@keyframes modalScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border-color)}.admin-modal-header h3{font-size:1.05rem;font-weight:700;color:var(--text-main);margin:0}.danger-header{border-bottom-color:#ea433533}.danger-title-group{display:flex;align-items:center;gap:.5rem}.danger-icon{color:#ea4335}.admin-modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer}.admin-modal-close:hover{color:var(--text-main)}.admin-modal-form,.admin-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.1rem;overflow-y:auto}.admin-modal-body p{font-size:.88rem;line-height:1.5;color:var(--text-main);margin:0}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.82rem;font-weight:600;color:var(--text-subtle)}.form-input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.6rem .8rem;font-size:.85rem;color:var(--text-main)}.form-input:focus{outline:none;border-color:var(--color-logo-blue)}.approver-type-selector{display:flex;flex-direction:column;gap:.5rem}.radio-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--input-bg);cursor:pointer;transition:all var(--transition-fast)}.radio-card:hover{border-color:var(--border-color-hover)}.radio-card.active{border-color:var(--color-logo-blue);background-color:var(--color-logo-blue-light)}.radio-card-body{display:flex;flex-direction:column;gap:.15rem}.radio-card-body strong{font-size:.85rem;color:var(--text-main)}.radio-card-body span{font-size:.75rem;color:var(--text-muted)}.sub-config-box{background-color:var(--input-bg);padding:.85rem;border-radius:var(--radius-md);border:1px solid var(--border-color)}.candidate-pool-box{display:flex;flex-direction:column;gap:.75rem}.candidate-pool-header{display:flex;align-items:center;justify-content:space-between}.candidate-count-badge{font-size:.72rem;font-weight:600;color:var(--color-logo-blue);background-color:var(--color-logo-blue-light);padding:.15rem .5rem;border-radius:var(--radius-full)}.candidate-chips-list{display:flex;flex-wrap:wrap;gap:.5rem;min-height:38px;background-color:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-md);padding:.5rem;align-items:center}.candidate-chip{display:inline-flex;align-items:center;gap:.4rem;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:.25rem .65rem;font-size:.78rem;font-weight:600;color:var(--text-main);box-shadow:0 1px 3px #0000000d}.candidate-chip-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-chip-remove{background:transparent;border:none;color:var(--text-subtle);cursor:pointer;display:flex;align-items:center;padding:0;border-radius:50%;transition:color var(--transition-fast)}.candidate-chip-remove:hover{color:#ea4335}.candidate-chips-empty{font-size:.75rem;color:var(--text-subtle)}.candidate-add-row{display:flex;align-items:center}.entity-field-box{display:flex;flex-direction:column;gap:.65rem}.entity-field-config-header{display:flex;align-items:center;justify-content:space-between}.entity-target-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;color:#d97706;background-color:#f59e0b1f;border:1px solid rgba(245,158,11,.25);padding:.15rem .55rem;border-radius:var(--radius-sm);font-family:monospace}.entity-field-selector-row{display:flex;gap:.65rem;align-items:center}.entity-field-selector-row .field-select{flex:1}.entity-field-selector-row .field-custom-input{flex:1;font-family:monospace}.form-field-tip{font-size:.75rem;color:var(--text-muted);margin:0}.condition-toggle-group{margin-top:.25rem}.toggle-label{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.84rem;font-weight:600;color:var(--text-main)}.toggle-checkbox{width:16px;height:16px;cursor:pointer}.condition-config-card{background-color:var(--input-bg);border:1px solid rgba(251,188,5,.35);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.condition-inputs-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.6rem}.condition-preview-banner{display:flex;align-items:center;gap:.4rem;font-size:.76rem;color:#b78103;background-color:#fbbc051a;padding:.4rem .6rem;border-radius:var(--radius-sm)}.admin-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background-color:var(--bg-card);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.btn-modal-cancel{background-color:transparent;border:1px solid var(--border-color);color:var(--text-main);padding:.55rem 1rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer}.btn-modal-submit{background-color:var(--color-logo-blue);color:#fff;border:none;padding:.55rem 1.2rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #4285f440}.btn-modal-delete{background-color:#ea4335;color:#fff;border:none;padding:.55rem 1.2rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #ea433540}@media (max-width: 860px){.admin-grid,.condition-inputs-row{grid-template-columns:1fr}.channels-grid{grid-template-columns:1fr!important}}.notification-channels-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.75rem;box-shadow:0 2px 10px #00000008}.panel-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;flex-wrap:wrap;gap:1rem}.panel-title-group{display:flex;align-items:center;gap:.85rem}.panel-icon-badge{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:var(--color-logo-blue);display:flex;align-items:center;justify-content:center}.panel-title{font-size:1.05rem;font-weight:700;color:var(--text-main);margin:0 0 2px}.panel-subtitle{font-size:.82rem;color:var(--text-muted);margin:0}.btn-save-settings{display:inline-flex;align-items:center;gap:.45rem;background-color:var(--color-logo-blue);color:#fff;border:none;border-radius:var(--radius-md);padding:.55rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-save-settings:hover:not(:disabled){background-color:#3367d6;transform:translateY(-1px)}.btn-save-settings:disabled{opacity:.6;cursor:not-allowed}.channels-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.2rem}.channel-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.15rem;background:var(--bg-main);transition:all var(--transition-fast)}.channel-card.channel-active{border-color:#4285f466;background:#4285f405}.channel-card.channel-inactive{opacity:.8;background:#00000003}.channel-card-top{display:flex;align-items:flex-start;gap:1rem}.channel-icon-wrapper{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.channel-icon-wrapper.teams-theme{background:#f0f4ff;color:#4f46e5}.channel-icon-wrapper.email-theme{background:#fef3c7;color:#d97706}.channel-info{flex:1}.channel-title-line{display:flex;align-items:center;gap:.65rem;margin-bottom:.35rem}.channel-name{font-size:.92rem;font-weight:700;color:var(--text-main)}.channel-status-pill{font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:12px}.channel-status-pill.pill-active{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.channel-status-pill.pill-inactive{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.channel-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4;margin:0}.channel-toggle-wrapper{display:flex;align-items:center}.toggle-switch-btn{position:relative;width:46px;height:24px;background-color:#cbd5e1;border-radius:20px;border:none;cursor:pointer;outline:none;transition:background-color .25s cubic-bezier(.4,0,.2,1);padding:2px}.toggle-switch-btn.active{background-color:var(--color-logo-blue)}.toggle-thumb{display:block;width:20px;height:20px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform .25s cubic-bezier(.4,0,.2,1)}.toggle-switch-btn.active .toggle-thumb{transform:translate(22px)}.webhook-config-bar{display:flex;align-items:center;gap:.85rem;background:var(--bg-main);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px dashed var(--border-color);flex-wrap:wrap}.webhook-label{font-size:.82rem;font-weight:600;color:var(--text-main);white-space:nowrap}.webhook-input{flex:1;min-width:280px;font-size:.82rem;font-family:monospace;padding:.45rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);outline:none;transition:border-color var(--transition-fast)}.webhook-input:focus{border-color:var(--color-logo-blue)}.budget-projects-container{padding:24px 32px;max-width:1720px;margin:0 auto;min-height:calc(100vh - 70px);display:flex;flex-direction:column;gap:20px;animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.budget-projects-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.budget-projects-title-area{display:flex;flex-direction:column;gap:4px}.budget-title-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#4f46e5;background:#4f46e514;padding:4px 10px;border-radius:6px;width:fit-content;margin-bottom:2px}.budget-projects-main-title{font-size:24px;font-weight:700;color:var(--text-primary, #0f172a);margin:0;letter-spacing:-.02em}.budget-projects-subtitle{font-size:13px;color:var(--text-secondary, #64748b);margin:0}.budget-projects-header-actions{display:flex;align-items:center;gap:10px}.btn-secondary-action{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-surface, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .15s ease}.btn-secondary-action:hover{background:var(--bg-hover, #f8fafc);border-color:#cbd5e1}.spin-icon{animation:spin .8s linear infinite}.btn-primary-action{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #2563eb33;transition:all .15s ease}.btn-primary-action:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb40}.projects-toolbar-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-surface, #ffffff);padding:12px 18px;border-radius:10px;border:1px solid var(--border-color, #e2e8f0);box-shadow:0 1px 3px #00000005;flex-wrap:wrap}.projects-search-wrapper{display:flex;align-items:center;gap:10px;background:var(--bg-hover, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:6px 12px;flex:1;min-width:260px;max-width:420px}.search-icon{color:#94a3b8}.projects-search-input{border:none;background:transparent;width:100%;font-size:13px;color:var(--text-primary, #0f172a);outline:none}.projects-filter-group{display:flex;align-items:center;gap:12px}.filter-select-wrapper{display:flex;align-items:center;gap:6px;background:var(--bg-hover, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:4px 10px}.filter-icon{color:#94a3b8}.projects-filter-select{border:none;background:transparent;font-size:13px;color:var(--text-primary, #1e293b);outline:none;cursor:pointer}.projects-table-container{background:var(--bg-surface, #ffffff);border-radius:10px;border:1px solid var(--border-color, #e2e8f0);box-shadow:0 1px 4px #00000008;overflow-x:auto}.projects-datagrid{width:100%;border-collapse:collapse;text-align:left;font-size:13px;color:var(--text-primary, #0f172a);min-width:1300px}.projects-datagrid th{background:var(--bg-hover, #f8fafc);color:var(--text-secondary, #475569);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--border-color, #e2e8f0);white-space:nowrap}.projects-datagrid td{padding:12px 14px;border-bottom:1px solid var(--border-color, #e2e8f0);vertical-align:middle}.project-row-item:hover{background:#f1f5f999}.td-select-indicator{width:38px;padding:12px 6px 12px 10px!important}.select-pill-wrapper{display:flex;align-items:center;gap:6px}.left-active-bar{width:3.5px;height:18px;background:#2563eb;border-radius:2px}.checked-circle-icon{color:#2563eb;fill:#2563eb1a}.project-code-tag{font-weight:600;color:#1e293b;letter-spacing:-.01em}.row-shortcuts{display:flex;align-items:center;gap:4px}.btn-icon-shortcut{background:transparent;border:none;color:#64748b;padding:4px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon-shortcut:hover{background:#e2e8f0;color:#0f172a}.project-name-text{font-weight:500;color:#0f172a;max-width:240px;display:inline-block;line-height:1.4}.entity-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;background:#fef3c7;color:#92400e;border:1px solid #fde68a;white-space:nowrap}.currency-link{color:#0284c7;text-decoration:underline;cursor:pointer;font-weight:500;white-space:nowrap}.currency-link:hover{color:#0369a1}.number-val{font-variant-numeric:tabular-nums;font-weight:500}.number-val-usd{font-variant-numeric:tabular-nums;color:#475569}.period-text{color:#334155;white-space:nowrap;font-size:12.5px}.remaining-val.negative-amount{color:#dc2626;font-weight:600;font-variant-numeric:tabular-nums}.remaining-val.positive-amount{color:#16a34a;font-weight:500;font-variant-numeric:tabular-nums}.approver-pill{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;padding:3px 8px 3px 4px;border-radius:14px}.approver-avatar-mini{width:20px;height:20px;background:#3b82f6;color:#fff;border-radius:50%;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.approver-text-name{font-size:12px;color:#1e293b;font-weight:500;white-space:nowrap}.cc-badges-container{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.cc-person-pill{display:inline-block;background:#f1f5f9;color:#475569;font-size:11.5px;padding:2px 8px;border-radius:10px;border:1px solid #e2e8f0;white-space:nowrap}.comments-multiline{max-width:280px;font-size:12px;color:#475569;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.status-pill.status-approved{background:#dcfce7;color:#15803d}.status-pill.status-pending{background:#fef3c7;color:#b45309}.status-pill.status-draft{background:#f1f5f9;color:#64748b;border:1px dashed #cbd5e1}.status-pill.status-rejected{background:#fee2e2;color:#b91c1c}.row-action-buttons{display:flex;align-items:center;gap:6px}.btn-row-submit{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:6px;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-row-submit:hover{background:#dbeafe}.btn-row-view-steps{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;border-radius:6px;font-size:11.5px;font-weight:500;cursor:pointer}.btn-row-view-steps:hover{background:#f1f5f9;color:#0f172a}.btn-row-edit{background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;padding:4px 8px;font-size:11.5px;color:var(--text-primary, #334155);cursor:pointer}.btn-row-edit:hover{background:var(--bg-hover, #f8fafc)}.empty-projects-cell{text-align:center;padding:50px 20px!important;color:#94a3b8}.empty-icon{margin-bottom:8px;color:#cbd5e1}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px}.modal-card{background:var(--bg-surface, #ffffff);border-radius:12px;width:100%;max-width:680px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;display:flex;flex-direction:column;overflow:hidden;animation:modalPop .2s ease-out}@keyframes modalPop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #e2e8f0)}.modal-title-wrap{display:flex;align-items:center;gap:8px}.modal-title-wrap h3{font-size:16px;font-weight:600;margin:0;color:var(--text-primary, #0f172a)}.modal-icon{color:#2563eb}.btn-close-modal{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px}.btn-close-modal:hover{color:#334155}.modal-body-content{padding:20px;overflow-y:auto;max-height:calc(85vh - 120px);display:flex;flex-direction:column;gap:16px}.workflow-detection-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;font-size:12.5px}.workflow-detection-banner.match-found{background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6}.banner-sparkle{color:#7c3aed;flex-shrink:0;margin-top:2px}.banner-text strong{display:block;font-size:13px;margin-bottom:2px}.banner-text p{margin:0;opacity:.9}.workflow-detection-banner.no-match{background:#f8fafc;border:1px solid #e2e8f0;color:#64748b}.form-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field-item{display:flex;flex-direction:column;gap:6px}.form-field-item.full-width{grid-column:1 / -1}.field-label{font-size:12.5px;font-weight:500;color:var(--text-primary, #334155)}.field-input,.field-textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color, #cbd5e1);border-radius:6px;font-size:13px;background:var(--bg-surface, #ffffff);color:var(--text-primary, #0f172a);outline:none;box-sizing:border-box}.field-input:focus,.field-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.field-input.readonly-input{background:var(--bg-hover, #f1f5f9);color:#64748b;cursor:not-allowed}.field-hint-text{font-size:11px;color:#94a3b8}.modal-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;background:var(--bg-hover, #f8fafc);border-top:1px solid var(--border-color, #e2e8f0)}.btn-cancel-flat{padding:8px 16px;background:transparent;border:1px solid var(--border-color, #cbd5e1);border-radius:6px;font-size:13px;color:var(--text-secondary, #475569);cursor:pointer}.btn-cancel-flat:hover{background:#f1f5f9}.btn-save-draft{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-surface, #ffffff);border:1px solid #94a3b8;color:#1e293b;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-save-draft:hover{background:#f8fafc;border-color:#64748b}.btn-submit-workflow{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:#2563eb;border:none;color:#fff;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #2563eb33;transition:all .15s ease}.btn-submit-workflow:hover{background:#1d4ed8}.workflow-history-modal{max-width:580px}.workflow-project-meta-box{background:#f8fafc;border:1px solid #e2e8f0;padding:12px 16px;border-radius:8px;display:flex;flex-direction:column;gap:6px;font-size:13px}.meta-line{display:flex;align-items:center;gap:8px}.meta-label{color:#64748b;width:90px}.workflow-steps-timeline{display:flex;flex-direction:column;gap:18px;position:relative;padding-left:20px;margin-top:10px}.workflow-steps-timeline:before{content:"";position:absolute;left:31px;top:12px;bottom:12px;width:2px;background:#e2e8f0}.timeline-node{display:flex;align-items:flex-start;gap:16px;position:relative}.timeline-marker{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;background:#fff;border:2px solid #cbd5e1;color:#94a3b8}.timeline-node.completed .timeline-marker{background:#22c55e;border-color:#22c55e;color:#fff}.timeline-node.in-progress .timeline-marker{background:#f59e0b;border-color:#f59e0b;color:#fff}.timeline-content{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.node-step-name{font-weight:600;font-size:13px;color:#0f172a}.node-step-status.success{color:#16a34a;font-size:12px;font-weight:500}.node-step-status.pending{color:#d97706;font-size:12px;font-weight:500}.node-step-desc{margin:0;font-size:12px;color:#64748b}.node-timestamp{font-size:11px;color:#94a3b8;display:block;margin-top:4px}.step-comment-box{margin-top:6px;background:#f8fafc;border-left:3px solid #3b82f6;padding:6px 10px;font-size:12px;color:#334155;font-style:italic;border-radius:0 4px 4px 0}.toast-notification{position:fixed;bottom:28px;right:28px;background:#0f172a;color:#fff;padding:12px 20px;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:13px;box-shadow:0 10px 15px -3px #0003;z-index:1000;animation:slideInUp .2s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.btn-row-details{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#4f46e50f;border:1px solid rgba(79,70,229,.2);color:#4f46e5;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-row-details:hover{background:#4f46e51f;border-color:#4f46e5;color:#4338ca}.clickable-project-name{color:#2563eb;cursor:pointer;transition:color .15s}.clickable-project-name:hover{color:#1d4ed8;text-decoration:underline}.project-detail-modal{width:920px;max-width:95vw;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #0f172a40,0 0 0 1px #0f172a0d;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;animation:modalScaleUp .22s cubic-bezier(.16,1,.3,1)}.detail-modal-hero-header{padding:24px 28px 20px;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px}.detail-hero-top-row{display:flex;justify-content:space-between;align-items:center}.detail-code-badge-wrap{display:flex;align-items:center;gap:10px}.detail-code-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:700;color:#1e293b;background:#e2e8f0;padding:3px 10px;border-radius:6px;letter-spacing:.04em;border:1px solid #cbd5e1}.btn-modal-close-round{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;color:#64748b;cursor:pointer;transition:all .15s ease}.btn-modal-close-round:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1;transform:rotate(90deg)}.detail-hero-title{margin:0;font-size:22px;font-weight:700;color:#0f172a;line-height:1.3;letter-spacing:-.02em}.detail-hero-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:#64748b}.meta-tag-item{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;padding:3px 10px;border-radius:6px;color:#334155;font-weight:500}.meta-tag-icon{color:#64748b}.meta-tag-divider{color:#cbd5e1}.detail-modal-body-content{padding:24px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:28px;background:#fff}.detail-section-block{display:flex;flex-direction:column;gap:14px}.detail-section-title-wrap{display:flex;align-items:center;gap:12px}.section-title-icon-box{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-title-icon-box.blue-box{background:#2563eb1a;color:#2563eb}.section-title-icon-box.purple-box{background:#7c3aed1a;color:#7c3aed}.section-title-icon-box.amber-box{background:#d977061a;color:#d97706}.section-title-icon-box.green-box{background:#10b9811a;color:#059669}.section-title-text-group h4{margin:0;font-size:15px;font-weight:700;color:#0f172a}.section-title-text-group p{margin:2px 0 0;font-size:12px;color:#64748b}.kpi-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.kpi-metric-card{padding:16px 18px;border-radius:12px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px;transition:transform .15s ease,box-shadow .15s ease}.kpi-metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px -4px #0f172a0f}.kpi-metric-card.primary-card,.kpi-metric-card.neutral-card{background:#f8fafc;border-color:#cbd5e1}.kpi-metric-card.success-card{background:#f0fdf4;border-color:#bbf7d0}.kpi-metric-card.danger-card{background:#fef2f2;border-color:#fecaca}.kpi-card-header{display:flex;justify-content:space-between;align-items:center}.kpi-card-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-card-tag{font-size:11px;font-weight:700;background:#e2e8f0;color:#334155;padding:1px 6px;border-radius:4px}.kpi-card-usage-badge{font-size:11px;font-weight:600;background:#e0e7ff;color:#4338ca;padding:2px 7px;border-radius:4px}.kpi-status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px}.kpi-status-badge.success-badge{background:#dcfce7;color:#15803d}.kpi-status-badge.danger-badge{background:#fee2e2;color:#dc2626}.kpi-card-number{font-size:22px;font-weight:800;color:#0f172a;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:4px 0 2px}.kpi-card-number.success-number{color:#166534}.kpi-card-number.danger-number{color:#dc2626}.kpi-card-footnote{font-size:11px;color:#64748b}.kpi-metric-card.danger-card .kpi-card-footnote{color:#b91c1c;font-weight:500}.budget-progress-container{background:#f8fafc;border:1px solid #e2e8f0;padding:14px 18px;border-radius:10px;display:flex;flex-direction:column;gap:8px}.progress-info-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500}.progress-text-label{color:#475569}.progress-text-val{font-weight:700}.progress-text-val.text-danger{color:#dc2626}.progress-text-val.text-primary{color:#2563eb}.progress-track-bar{width:100%;height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill-bar{height:100%;border-radius:999px;transition:width .4s ease}.progress-fill-bar.fill-primary{background:linear-gradient(90deg,#3b82f6,#2563eb)}.progress-fill-bar.fill-danger{background:linear-gradient(90deg,#f87171,#dc2626)}.detail-collaborators-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}.collaborator-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.collaborator-role-badge{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.approver-profile-row{display:flex;align-items:center;gap:14px}.approver-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;box-shadow:0 4px 10px #6366f14d;flex-shrink:0}.approver-details-column{display:flex;flex-direction:column;gap:2px}.approver-name-bold{font-size:15px;font-weight:700;color:#0f172a}.approver-title-sub{font-size:12px;color:#64748b}.approver-email-sub{font-size:12px;color:#4f46e5;font-family:monospace}.cc-chips-flow{display:flex;flex-wrap:wrap;gap:8px;max-height:100px;overflow-y:auto}.cc-member-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;padding:6px 12px;border-radius:8px;box-shadow:0 1px 2px #00000008;transition:all .15s ease}.cc-member-chip:hover{border-color:#cbd5e1;background:#f8fafc}.chip-avatar-mini{width:24px;height:24px;border-radius:50%;background:#cbd5e1;color:#334155;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.chip-info-wrap{display:flex;flex-direction:column}.chip-name{font-size:12px;font-weight:600;color:#1e293b;line-height:1.2}.chip-email{font-size:11px;color:#64748b;line-height:1.2}.empty-cc-state{padding:10px 0}.empty-subtle-hint{font-size:12px;color:#94a3b8;font-style:italic}.detail-quote-box{background:#f8fafc;border-left:4px solid #f59e0b;border-radius:0 10px 10px 0;padding:16px 20px;border-top:1px solid #e2e8f0;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.quote-text-content{margin:0;font-size:13px;line-height:1.7;color:#334155;white-space:pre-wrap}.pro-timeline-wrapper{position:relative;display:flex;flex-direction:column;gap:16px;padding-left:20px}.pro-timeline-wrapper:before{content:"";position:absolute;top:16px;bottom:24px;left:31px;width:2px;background:#e2e8f0}.pro-timeline-node{position:relative;display:flex;align-items:flex-start;gap:16px}.pro-node-marker{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;background:#fff;border:2px solid #e2e8f0;color:#94a3b8;transition:all .2s ease}.pro-timeline-node.completed .pro-node-marker{background:#10b981;border-color:#10b981;color:#fff;box-shadow:0 0 0 4px #10b98126}.pro-timeline-node.active .pro-node-marker{background:#f59e0b;border-color:#f59e0b;color:#fff;box-shadow:0 0 0 4px #f59e0b2e;animation:pulseMarker 2s infinite}@keyframes pulseMarker{0%{box-shadow:0 0 #f59e0b66}70%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.pro-node-card{flex:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.pro-node-header{display:flex;justify-content:space-between;align-items:center}.pro-node-step-title{font-size:13px;font-weight:700;color:#0f172a}.pro-node-status-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.pro-node-status-pill.approved{background:#dcfce7;color:#15803d}.pro-node-status-pill.pending{background:#fef3c7;color:#b45309}.pro-node-status-pill.waiting{background:#f1f5f9;color:#64748b}.pro-node-meta{font-size:12px;color:#64748b;display:flex;align-items:center;gap:8px}.meta-sep{color:#cbd5e1}.detail-modal-footer{padding:16px 28px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.btn-modal-cancel{padding:9px 18px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;transition:all .15s ease}.btn-modal-cancel:hover{background:#f1f5f9;color:#0f172a}.detail-footer-right-actions{display:flex;align-items:center;gap:12px}.btn-modal-secondary-outline{padding:9px 18px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:600;color:#1e293b;cursor:pointer;transition:all .15s ease}.btn-modal-secondary-outline:hover{background:#f8fafc;border-color:#94a3b8}.btn-modal-primary-gradient{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;background:linear-gradient(135deg,#4f46e5,#3730a3);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #4f46e540;transition:all .15s ease}.btn-modal-primary-gradient:hover{background:linear-gradient(135deg,#4338ca,#312e81);transform:translateY(-1px);box-shadow:0 6px 16px #4f46e559}.field-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.field-auto-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#4f46e5;background:#4f46e514;padding:2px 8px;border-radius:4px}.field-calc-badge{font-size:11px;font-weight:600;color:#059669;background:#ecfdf5;padding:2px 6px;border-radius:4px}.field-rate-footnote{display:block;font-size:11px;color:#64748b;margin-top:4px}.field-hint-sub{font-size:12px;color:#64748b;font-weight:400}.form-attachments-block{margin-top:8px;display:flex;flex-direction:column;gap:10px}.attachment-dropzone-box{border:2px dashed #cbd5e1;background:#f8fafc;border-radius:12px;padding:24px 20px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease}.attachment-dropzone-box:hover,.attachment-dropzone-box.drag-active{border-color:#6366f1;background:#6366f10a}.attachment-dropzone-box.is-uploading{cursor:wait;border-color:#94a3b8}.dropzone-idle-state{display:flex;align-items:center;gap:16px}.dropzone-icon-circle{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;color:#4f46e5;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000000a}.dropzone-text-group{display:flex;flex-direction:column;gap:3px}.dropzone-main-text{font-size:14px;font-weight:600;color:#1e293b}.dropzone-sub-text{font-size:12px;color:#64748b}.dropzone-uploading-state{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#4f46e5}.uploaded-attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:6px}.uploaded-file-card{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000a}.file-card-preview-thumb{width:36px;height:36px;border-radius:6px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.thumb-img{width:100%;height:100%;object-fit:cover}.thumb-pdf-icon{color:#dc2626}.thumb-generic-icon{color:#64748b}.file-card-info-col{flex:1;display:flex;flex-direction:column;min-width:0}.file-card-name{font-size:12px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-meta{font-size:11px;color:#94a3b8}.btn-remove-attachment{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-remove-attachment:hover{background:#fee2e2;color:#dc2626}.detail-attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.detail-attachment-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s ease}.detail-attachment-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a14;transform:translateY(-2px)}.att-card-preview-area{position:relative;height:110px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.att-card-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.att-card-preview-area:hover .att-card-img{transform:scale(1.05)}.att-pdf-badge-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;color:#dc2626}.pdf-text-tag{font-size:11px;font-weight:700;background:#fee2e2;color:#dc2626;padding:1px 6px;border-radius:4px}.att-generic-badge-wrap{color:#64748b}.att-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a99;color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;opacity:0;transition:opacity .2s ease}.att-card-preview-area:hover .att-preview-overlay{opacity:1}.att-card-bottom-info{padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:6px;border-top:1px solid #f1f5f9}.att-card-filename{font-size:12px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-card-action-row{display:flex;justify-content:space-between;align-items:center}.att-size-text{font-size:11px;color:#94a3b8}.att-btn-group{display:flex;align-items:center;gap:4px}.btn-att-action-mini{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;cursor:pointer;text-decoration:none;transition:all .15s ease}.btn-att-action-mini:hover{background:#4f46e5;color:#fff;border-color:#4f46e5}.empty-attachments-notice{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:24px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:#94a3b8}.empty-paperclip{color:#cbd5e1}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:30px;animation:fadeIn .2s ease-out}.lightbox-container{width:1000px;max-width:95vw;height:85vh;background:#fff;border-radius:14px;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:modalScaleUp .2s cubic-bezier(.16,1,.3,1)}.lightbox-header{padding:14px 20px;background:#0f172a;color:#fff;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1e293b}.lightbox-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.lightbox-filename{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.lightbox-actions{display:flex;align-items:center;gap:10px}.btn-lightbox-external{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none;transition:all .15s ease}.btn-lightbox-external:hover{background:#fff3}.btn-lightbox-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;transition:all .15s ease}.btn-lightbox-close:hover{background:#ffffff1a;color:#fff}.lightbox-body{flex:1;background:#090d16;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.lightbox-image-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.lightbox-full-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 10px 25px #00000080}.lightbox-pdf-wrap{width:100%;height:100%}.lightbox-pdf-frame{width:100%;height:100%;border:none}.lightbox-unsupported-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff}.unsupported-icon{color:#64748b}.employee-management-view{padding:24px 32px 48px;max-width:1380px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.emp-toast-notification{position:fixed;top:24px;right:24px;z-index:10000;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a;animation:empSlideDown .3s cubic-bezier(.16,1,.3,1)}.emp-toast-success{background:#10b981;color:#fff}.emp-toast-error{background:#ef4444;color:#fff}@keyframes empSlideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.emp-header-wrapper{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.emp-header-content{display:flex;flex-direction:column;gap:6px}.emp-header-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#6366f11a;color:#6366f1;font-size:12px;font-weight:600;letter-spacing:.02em;width:fit-content}.emp-header-content h2{font-size:24px;font-weight:700;color:var(--text-primary, #1e293b);margin:0;letter-spacing:-.02em}.emp-header-sub{font-size:14px;color:var(--text-secondary, #64748b);margin:0}.emp-header-actions{display:flex;align-items:center;gap:12px}.emp-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #334155);cursor:pointer;transition:all .2s ease}.emp-refresh-btn:hover{background:var(--bg-hover, #f8fafc);border-color:#cbd5e1}.emp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.emp-stat-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #00000005;transition:transform .2s,box-shadow .2s}.emp-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000a}.emp-stat-info{display:flex;flex-direction:column;gap:4px}.emp-stat-label{font-size:13px;color:var(--text-secondary, #64748b);font-weight:500}.emp-stat-value{font-size:24px;font-weight:700;color:var(--text-primary, #0f172a);letter-spacing:-.02em}.emp-stat-icon-wrapper{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-green{background:#10b9811f;color:#10b981}.emp-filter-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:0 1px 2px #00000005}.emp-search-input-box{display:flex;align-items:center;gap:10px;background:var(--bg-hover, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:8px 12px;flex:1;min-width:260px;max-width:420px;transition:all .2s ease}.emp-search-input-box:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.emp-search-icon{color:var(--text-secondary, #94a3b8);flex-shrink:0}.emp-search-input-box input{border:none;background:transparent;outline:none;font-size:13.5px;color:var(--text-primary, #1e293b);width:100%}.emp-clear-search-btn{background:transparent;border:none;color:var(--text-secondary, #94a3b8);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center}.emp-clear-search-btn:hover{color:var(--text-primary, #475569)}.emp-filter-group{display:flex;align-items:center;gap:12px}.emp-select-filter{padding:8px 14px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);color:var(--text-primary, #334155);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:border-color .2s ease}.emp-select-filter:focus{border-color:#6366f1}.emp-table-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #00000008}.emp-table{width:100%;border-collapse:collapse;text-align:left}.emp-table th{background:var(--bg-hover, #f8fafc);padding:14px 20px;font-size:12.5px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color, #e2e8f0)}.emp-table td{padding:16px 20px;border-bottom:1px solid var(--border-color, #f1f5f9);vertical-align:middle}.emp-row:last-child td{border-bottom:none}.emp-row:hover{background:var(--bg-hover, #f8fafc)}.emp-avatar-box{width:42px;height:42px;border-radius:50%;overflow:hidden;position:relative;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 6px #00000014}.emp-avatar-box img{width:100%;height:100%;object-fit:cover;display:block}.emp-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff}.emp-name-content{display:flex;flex-direction:column;gap:2px}.emp-fullname{font-size:14.5px;font-weight:600;color:var(--text-primary, #0f172a)}.emp-aad-id{font-size:11.5px;color:var(--text-secondary, #94a3b8);font-family:monospace}.emp-email-text{font-size:13.5px;color:var(--text-secondary, #475569)}.emp-role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;width:fit-content}.badge-admin{background:#6366f11f;color:#6366f1;border:1px solid rgba(99,102,241,.2)}.badge-user{background:#0ea5e91a;color:#0284c7;border:1px solid rgba(14,165,233,.2)}.emp-teams-status{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:8px;font-size:12.5px;font-weight:500;width:fit-content}.emp-teams-status.connected{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2)}.emp-teams-status.disconnected{background:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #64748b);border:1px solid var(--border-color, #e2e8f0)}.status-dot{width:7px;height:7px;border-radius:50%}.status-dot.green{background:#10b981;box-shadow:0 0 0 2px #10b98133}.status-dot.gray{background:#94a3b8}.status-icon{margin-left:2px}.emp-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px}.emp-btn-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.emp-btn-role{background:var(--bg-hover, #f8fafc);border-color:var(--border-color, #e2e8f0);color:var(--text-primary, #334155)}.emp-btn-role:hover{background:#6366f114;border-color:#6366f14d;color:#6366f1}.emp-btn-reset{background:var(--bg-hover, #f8fafc);border-color:var(--border-color, #e2e8f0);color:var(--text-secondary, #64748b)}.emp-btn-reset:not(:disabled):hover{background:#ef444414;border-color:#ef44444d;color:#ef4444}.emp-btn-reset:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-hover, #f8fafc);border-color:var(--border-color, #e2e8f0)}.emp-loading-cell,.emp-empty-cell{padding:48px 24px;text-align:center}.emp-loading-box,.emp-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary, #64748b);font-size:14px}.emp-empty-icon{color:var(--text-secondary, #cbd5e1)}.emp-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.emp-modal-card{background:var(--bg-card, #ffffff);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a;overflow:hidden;animation:modalPopIn .25s cubic-bezier(.16,1,.3,1);border:1px solid var(--border-color, #e2e8f0)}@keyframes modalPopIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.emp-modal-header{padding:18px 22px;border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between}.emp-modal-title-box{display:flex;align-items:center;gap:10px}.emp-modal-title-box h3{font-size:17px;font-weight:700;color:var(--text-primary, #0f172a);margin:0}.modal-icon-purple{color:#6366f1}.modal-icon-amber{color:#f59e0b}.emp-modal-close{background:transparent;border:none;color:var(--text-secondary, #94a3b8);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center}.emp-modal-close:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.emp-modal-body{padding:22px;display:flex;flex-direction:column;gap:18px}.emp-modal-user-summary{display:flex;align-items:center;gap:14px;background:var(--bg-hover, #f8fafc);padding:12px 16px;border-radius:10px;border:1px solid var(--border-color, #e2e8f0)}.modal-user-avatar{width:40px;height:40px;border-radius:50%;background:#6366f1;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden}.modal-user-avatar img{width:100%;height:100%;object-fit:cover}.modal-user-info{display:flex;flex-direction:column;gap:2px}.modal-user-name{font-size:14.5px;font-weight:600;color:var(--text-primary, #0f172a)}.modal-user-email{font-size:12.5px;color:var(--text-secondary, #64748b)}.emp-modal-field{display:flex;flex-direction:column;gap:10px}.emp-modal-field label{font-size:13px;font-weight:600;color:var(--text-primary, #334155)}.emp-role-options-grid{display:flex;flex-direction:column;gap:10px}.role-option-card{border:1.5px solid var(--border-color, #e2e8f0);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .2s ease;background:var(--bg-card, #ffffff)}.role-option-card:hover{border-color:#cbd5e1;background:var(--bg-hover, #f8fafc)}.role-option-card.selected{border-color:#6366f1;background:#6366f10a}.role-option-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.role-option-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.role-option-radio{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-color, #cbd5e1);display:flex;align-items:center;justify-content:center;color:#fff}.role-option-card.selected .role-option-radio{border-color:#6366f1;background:#6366f1}.role-option-desc{font-size:12.5px;color:var(--text-secondary, #64748b);margin:0;line-height:1.45}.reset-modal-desc{font-size:14px;color:var(--text-primary, #334155);line-height:1.55;margin:0}.reset-modal-details{background:var(--bg-hover, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.detail-item{display:flex;align-items:center;justify-content:space-between;font-size:13px}.detail-label{color:var(--text-secondary, #64748b)}.detail-value{font-weight:500;color:var(--text-primary, #1e293b)}.code-snippet{font-family:monospace;background:var(--bg-card, #e2e8f0);padding:2px 6px;border-radius:4px;font-size:12px}.emp-modal-footer{padding:16px 22px;border-top:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:flex-end;gap:12px;background:var(--bg-hover, #f8fafc)}.emp-btn-cancel{padding:8px 16px;border-radius:8px;font-size:13.5px;font-weight:500;background:#fff;border:1px solid var(--border-color, #cbd5e1);color:var(--text-secondary, #475569);cursor:pointer;transition:all .2s ease}.emp-btn-cancel:hover{background:#f1f5f9}.emp-btn-confirm{padding:8px 18px;border-radius:8px;font-size:13.5px;font-weight:600;background:#6366f1;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px #6366f140;transition:all .2s ease}.emp-btn-confirm:hover{background:#4f46e5}.emp-btn-danger{padding:8px 18px;border-radius:8px;font-size:13.5px;font-weight:600;background:#ef4444;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px #ef444440;transition:all .2s ease}.emp-btn-danger:hover{background:#dc2626}.emp-manager-badge{display:inline-flex;align-items:center;gap:6px;background:#4285f414;border:1px solid rgba(66,133,244,.2);color:var(--color-logo-blue, #4285f4);padding:4px 10px;border-radius:6px;font-size:12.5px;font-weight:600;width:fit-content}.manager-icon{color:var(--color-logo-blue, #4285f4)}.manager-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-manager-empty{font-size:12.5px;color:var(--text-subtle, #94a3b8);font-style:italic}.emp-pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-card, #ffffff);border-bottom-left-radius:12px;border-bottom-right-radius:12px;flex-wrap:wrap;gap:12px}.emp-pagination-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, #64748b);font-weight:500}.emp-pagination-range{font-size:12px;color:var(--text-subtle, #94a3b8)}.emp-pagination-controls{display:flex;align-items:center;gap:16px}.emp-pagesize-select-wrapper{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary, #64748b)}.emp-pagesize-select{padding:4px 8px;border-radius:6px;border:1px solid var(--border-color, #cbd5e1);background:var(--input-bg, #ffffff);color:var(--text-primary, #1e293b);font-size:12.5px;cursor:pointer;outline:none}.emp-pagesize-select:focus{border-color:#6366f1}.emp-pagination-buttons{display:flex;align-items:center;gap:8px}.emp-page-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--border-color, #cbd5e1);background:var(--input-bg, #ffffff);color:var(--text-primary, #334155);cursor:pointer;transition:all .2s ease}.emp-page-btn:hover:not(:disabled){background:var(--bg-hover, #f1f5f9);border-color:#6366f1;color:#6366f1}.emp-page-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--border-color, #e2e8f0)}.emp-page-indicator{font-size:13px;font-weight:600;color:var(--text-primary, #334155);padding:0 4px}.exchange-rate-view{padding:24px 32px 48px;max-width:1380px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.rate-toast{position:fixed;top:24px;right:24px;z-index:10000;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 10px 25px -5px #00000026;animation:rateToastSlide .3s cubic-bezier(.16,1,.3,1)}.rate-toast-success{background:#10b981;color:#fff}.rate-toast-error{background:#ef4444;color:#fff}@keyframes rateToastSlide{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.rate-readonly-banner{background:linear-gradient(135deg,#0284c714,#6366f114);border:1px solid rgba(2,132,199,.2);border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:12px;color:#0369a1;font-size:13.5px}.banner-icon{flex-shrink:0;color:#0284c7}.banner-text{flex:1}.banner-badge{font-size:11px;font-weight:700;letter-spacing:.03em;padding:3px 8px;border-radius:6px;background:#0284c7;color:#fff}.rate-header-wrapper{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.rate-header-content{display:flex;flex-direction:column;gap:6px}.rate-header-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#0ea5e91a;color:#0284c7;font-size:12px;font-weight:600;width:fit-content}.rate-title-row{display:flex;align-items:center;gap:12px}.rate-title-row h2{font-size:24px;font-weight:700;color:var(--text-primary, #0f172a);margin:0;letter-spacing:-.02em}.role-mode-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px}.role-mode-tag.admin-mode{background:#6366f11f;color:#6366f1;border:1px solid rgba(99,102,241,.25)}.role-mode-tag.view-mode{background:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #64748b);border:1px solid var(--border-color, #e2e8f0)}.rate-header-sub{font-size:14px;color:var(--text-secondary, #64748b);margin:0}.rate-header-actions{display:flex;align-items:center;gap:10px}.rate-refresh-btn,.rate-secondary-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);color:var(--text-primary, #334155);cursor:pointer;transition:all .2s ease}.rate-refresh-btn:hover,.rate-secondary-btn:hover{background:var(--bg-hover, #f8fafc);border-color:#cbd5e1}.rate-primary-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px #0284c740;transition:all .2s ease}.rate-primary-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);transform:translateY(-1px)}.rate-calculator-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:14px;padding:18px 22px;box-shadow:0 2px 8px #00000005;display:flex;flex-direction:column;gap:14px}.calculator-header{display:flex;align-items:center;justify-content:space-between}.calc-title-box{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--text-primary, #0f172a)}.calc-icon{color:#0284c7}.calc-sub-note{font-size:12px;color:var(--text-secondary, #94a3b8)}.calculator-body{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.calc-input-group,.calc-select-group{display:flex;flex-direction:column;gap:6px;min-width:150px;flex:1}.calc-input-group label,.calc-select-group label{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.03em}.calc-input-group input,.calc-select-group select{padding:9px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-hover, #f8fafc);font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);outline:none;transition:all .2s}.calc-input-group input:focus,.calc-select-group select:focus{background:#fff;border-color:#0284c7;box-shadow:0 0 0 3px #0284c71f}.calc-arrow-box{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #64748b);cursor:pointer;margin-bottom:2px;transition:all .2s}.calc-arrow-box:hover{background:#0284c71a;color:#0284c7;transform:rotate(180deg)}.calc-result-box{display:flex;flex-direction:column;gap:4px;background:linear-gradient(135deg,#0284c70f,#6366f10f);padding:8px 16px;border-radius:8px;border:1px solid rgba(2,132,199,.15);min-width:180px}.calc-result-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase}.calc-result-number{display:flex;align-items:baseline;gap:4px}.result-symbol{font-size:14px;font-weight:600;color:#0284c7}.result-val{font-size:20px;font-weight:700;color:var(--text-primary, #0f172a)}.result-code{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);margin-left:2px}.rate-filter-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.rate-search-box{display:flex;align-items:center;gap:10px;background:var(--bg-hover, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:8px 12px;flex:1;max-width:420px;min-width:240px}.rate-search-box input{border:none;background:transparent;outline:none;font-size:13.5px;color:var(--text-primary, #1e293b);width:100%}.search-icon{color:var(--text-secondary, #94a3b8)}.clear-search-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:2px}.rate-stat-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #475569);font-size:13px}.rate-table-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #00000005}.rate-table{width:100%;border-collapse:collapse;text-align:left}.rate-table th{background:var(--bg-hover, #f8fafc);padding:14px 20px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color, #e2e8f0)}.rate-table td{padding:16px 20px;border-bottom:1px solid var(--border-color, #f1f5f9);vertical-align:middle}.rate-row:last-child td{border-bottom:none}.rate-row:hover{background:var(--bg-hover, #f8fafc)}.base-currency-row{background:#10b98105}.currency-code-box{display:flex;align-items:center;gap:6px}.code-text{font-size:14px;font-weight:700;color:var(--text-primary, #0f172a)}.base-tag{font-size:10px;font-weight:700;padding:2px 5px;border-radius:4px;background:#10b98126;color:#059669}.symbol-badge{font-size:14px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--bg-hover, #f1f5f9);color:#0284c7;font-family:monospace}.chinese-text{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b)}.english-text{font-size:13.5px;color:var(--text-secondary, #64748b)}.format-snippet{font-size:12.5px;color:var(--text-secondary, #475569);background:var(--bg-hover, #f8fafc);padding:3px 8px;border-radius:6px;border:1px solid var(--border-color, #e2e8f0)}.rate-value-pill{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:8px;background:#0284c714;border:1px solid rgba(2,132,199,.15)}.rate-formula{font-size:12px;color:#0284c7;font-weight:500}.rate-number{font-size:15px;font-weight:700;color:var(--text-primary, #0f172a)}.rate-currency-unit{font-size:11.5px;color:var(--text-secondary, #64748b);font-weight:600}.action-buttons-group{display:flex;align-items:center;justify-content:flex-end;gap:8px}.btn-rate-action{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-rate-edit{background:var(--bg-hover, #f8fafc);border-color:var(--border-color, #e2e8f0);color:var(--text-primary, #334155)}.btn-rate-edit:hover{background:#0284c714;border-color:#0284c74d;color:#0284c7}.btn-rate-delete{background:var(--bg-hover, #f8fafc);border-color:var(--border-color, #e2e8f0);color:var(--text-secondary, #64748b)}.btn-rate-delete:not(:disabled):hover{background:#ef444414;border-color:#ef44444d;color:#ef4444}.btn-rate-delete:disabled{opacity:.4;cursor:not-allowed}.readonly-status-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:500;background:var(--bg-hover, #f1f5f9);color:var(--text-secondary, #64748b);border:1px solid var(--border-color, #e2e8f0)}.rate-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.rate-modal-card{background:var(--bg-card, #ffffff);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0003;overflow:hidden;border:1px solid var(--border-color, #e2e8f0);animation:ratePopIn .25s cubic-bezier(.16,1,.3,1)}@keyframes ratePopIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.rate-modal-header{padding:18px 22px;border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between}.modal-title-box{display:flex;align-items:center;gap:10px}.modal-title-box h3{font-size:17px;font-weight:700;color:var(--text-primary, #0f172a);margin:0}.modal-icon-blue{color:#0284c7}.modal-icon-red{color:#ef4444}.modal-close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;display:flex}.modal-close-btn:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.rate-modal-body{padding:22px;display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:600;color:var(--text-primary, #334155)}.req-star{color:#ef4444}.form-field input{padding:9px 12px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-hover, #f8fafc);font-size:14px;color:var(--text-primary, #1e293b);outline:none;transition:all .2s}.form-field input:focus{background:#fff;border-color:#0284c7;box-shadow:0 0 0 3px #0284c71f}.form-field input:disabled{opacity:.6;cursor:not-allowed}.field-hint{font-size:12px;color:var(--text-secondary, #94a3b8);line-height:1.4}.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rate-modal-footer{padding:16px 22px;border-top:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:flex-end;gap:12px;background:var(--bg-hover, #f8fafc)}.btn-modal-cancel{padding:8px 16px;border-radius:8px;font-size:13.5px;font-weight:500;background:#fff;border:1px solid var(--border-color, #cbd5e1);color:var(--text-secondary, #475569);cursor:pointer}.btn-modal-submit{padding:8px 20px;border-radius:8px;font-size:13.5px;font-weight:600;background:#0284c7;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px #0284c740}.btn-modal-submit:hover{background:#0369a1}.btn-modal-danger{padding:8px 20px;border-radius:8px;font-size:13.5px;font-weight:600;background:#ef4444;color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px #ef444440}.btn-modal-danger:hover{background:#dc2626}.delete-warning-desc{font-size:14px;color:var(--text-primary, #334155);line-height:1.55;margin:0}.delete-info-summary{background:var(--bg-hover, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary, #64748b)}.info-row strong{color:var(--text-primary, #0f172a)}.rate-loading-cell,.rate-empty-cell{padding:48px 20px;text-align:center}.rate-loading-box{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary, #64748b);font-size:14px}.rate-empty-icon{color:#cbd5e1;margin-bottom:8px}.settings-page{display:flex;flex-direction:column;gap:24px;max-width:1000px;margin:0 auto;padding:8px 0 32px}.settings-header{display:flex;align-items:center;gap:16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.settings-header-icon{color:var(--accent-primary, #2563eb);background:var(--accent-light, rgba(37, 99, 235, .1));padding:12px;border-radius:12px;box-sizing:content-box}.settings-header-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.settings-header-subtitle{font-size:.9rem;color:var(--text-muted);margin:0;line-height:1.5}.settings-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;gap:20px}.card-title-group{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-color);padding-bottom:14px}.card-icon{color:var(--accent-primary, #2563eb)}.card-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.channel-item{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px;background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px solid var(--border-color);border-radius:10px;transition:border-color .2s}.channel-item:hover{border-color:var(--accent-primary, #2563eb)}.channel-info{display:flex;gap:14px;flex:1}.channel-icon-box{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.channel-icon-box.teams{background:#ede9fe;color:#6d28d9}.channel-icon-box.email{background:#dbeafe;color:#1d4ed8}.channel-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.channel-desc{font-size:.85rem;color:var(--text-muted);margin:0;line-height:1.5}.switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color, #cbd5e1);transition:.3s cubic-bezier(.4,0,.2,1);border-radius:26px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 1px 3px #0003}input:checked+.slider{background-color:var(--accent-primary, #2563eb)}input:checked+.slider:before{transform:translate(22px)}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.form-desc{font-size:.8rem;color:var(--text-muted);margin:0}.form-input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);font-size:.9rem;transition:all .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--accent-primary, #2563eb);box-shadow:0 0 0 3px var(--accent-light, rgba(37, 99, 235, .1))}.diagnostic-container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--bg-subtle, rgba(0, 0, 0, .02));border:1px solid var(--border-color);border-radius:10px}.diagnostic-text h4{margin:0 0 4px;font-size:.95rem;color:var(--text-primary)}.diagnostic-text p{margin:0;font-size:.85rem;color:var(--text-muted)}.diagnostic-result{margin-top:12px;padding:12px;border-radius:8px;background:var(--bg-hover);font-family:monospace;font-size:.8rem;color:var(--text-secondary);overflow-x:auto}.settings-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:8px}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:8px;border:none;background:var(--accent-primary, #2563eb);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #2563eb40}.btn-primary:hover:not(:disabled){background:var(--accent-hover, #1d4ed8);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-page-container{min-height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-app);position:relative;padding:2rem 1rem;transition:background-color var(--transition-normal)}.login-top-controls{position:absolute;top:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.75rem}.ctrl-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .85rem;border-radius:var(--radius-md);color:var(--text-muted);background-color:var(--bg-card);border:1px solid var(--border-color);font-size:.82rem;font-weight:600;transition:all var(--transition-fast)}.ctrl-btn:hover{color:var(--text-main);border-color:var(--border-color-hover);background-color:var(--bg-card-hover)}.login-card-wrapper{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:2.5rem 2rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:fadeIn .3s ease-out}.brand-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1.5rem}.brand-logo-img-lg{width:56px;height:56px;object-fit:contain;margin-bottom:.85rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));transition:transform var(--transition-fast)}.brand-logo-img-lg:hover{transform:scale(1.05)}.main-title{font-family:var(--font-title);font-size:1.5rem;font-weight:800;color:var(--text-main);margin-bottom:.35rem}.sub-title{font-size:.85rem;color:var(--text-muted)}.env-banner{display:flex;justify-content:center;margin-bottom:1.5rem}.env-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;padding:.35rem .85rem;border-radius:var(--radius-full)}.tag-teams{background-color:#6264a726;color:#6264a7;border:1px solid rgba(98,100,167,.3)}.tag-web{background-color:var(--color-logo-blue-light);color:var(--color-logo-blue);border:1px solid rgba(66,133,244,.3)}.teams-login-box{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.5rem}.btn-teams-login{display:flex;align-items:center;justify-content:center;gap:.6rem;background-color:#6264a7;color:#fff;font-weight:700;font-size:.95rem;padding:.85rem;border-radius:var(--radius-md);box-shadow:0 4px 14px #6264a766;transition:background-color var(--transition-fast)}.btn-teams-login:hover{background-color:#525492}.or-divider{text-align:center;font-size:.75rem;color:var(--text-subtle)}.login-form{display:flex;flex-direction:column;gap:1rem}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.9rem;color:var(--text-subtle)}.input-group input{width:100%;padding-left:2.6rem;padding-top:.75rem;padding-bottom:.75rem}.btn-submit-login{display:flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--color-logo-blue);color:#fff;font-weight:700;font-size:.95rem;padding:.8rem;border-radius:var(--radius-md);box-shadow:0 2px 10px #4285f459;margin-top:.25rem;transition:background-color var(--transition-fast)}.btn-submit-login:hover{background-color:var(--color-logo-blue-hover)}.auth-alert{display:flex;align-items:center;gap:.5rem;padding:.65rem .9rem;border-radius:var(--radius-md);font-size:.82rem;margin-bottom:1rem}.alert-error{background-color:var(--color-logo-red-light);color:var(--color-logo-red)}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.75rem 0 1.25rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.auth-divider span{padding:0 .75rem;font-size:.75rem;color:var(--text-subtle)}.extra-channels{display:flex;flex-direction:column}.btn-channel{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;border:1px solid rgba(66,133,244,.4);background-color:var(--bg-card-hover);color:var(--color-logo-blue);transition:all var(--transition-fast)}.btn-channel:hover{border-color:var(--color-logo-blue)}.quick-approval-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#edf2f7);padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-sizing:border-box}.quick-approval-card{width:100%;max-width:580px;background:#fff;border-radius:16px;box-shadow:0 10px 30px -5px #00000014,0 4px 6px -2px #0000000a;border:1px solid #e2e8f0;overflow:hidden;display:flex;flex-direction:column}.qa-brand-header{padding:28px 28px 20px;text-align:center;border-bottom:1px solid #f1f5f9;background:#fafcff}.qa-logo{width:44px;height:44px;margin-bottom:12px}.qa-title{margin:0 0 6px;font-size:20px;font-weight:700;color:#1e293b}.qa-subtitle{margin:0;font-size:13px;color:#64748b}.qa-state-box{padding:48px 24px;text-align:center}.qa-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:qa-spin 1s linear infinite;margin:0 auto 16px}@keyframes qa-spin{to{transform:rotate(360deg)}}.qa-state-text{margin:0;font-size:14px;color:#64748b}.qa-alert{margin:24px;padding:16px;border-radius:10px;display:flex;gap:12px;align-items:flex-start}.qa-alert-error{background:#fef2f2;border:1px solid #fee2e2;color:#991b1b}.alert-content h4{margin:0 0 4px;font-size:15px;font-weight:600}.alert-content p{margin:0;font-size:13px;color:#b91c1c}.qa-result-box{margin:28px 24px;padding:32px 20px;border-radius:12px;text-align:center}.result-approved{background:#f0fdf4;border:1px solid #dcfce7}.result-rejected{background:#fef2f2;border:1px solid #fee2e2}.result-icon{margin-bottom:12px}.approved-icon{color:#16a34a}.rejected-icon{color:#dc2626}.qa-result-box h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#1e293b}.result-msg{margin:0 0 16px;font-size:14px;color:#475569}.result-meta{font-size:12px;color:#64748b;border-top:1px dashed rgba(0,0,0,.1);padding-top:12px}.result-comment{margin:8px 0 0;font-style:italic;color:#334155}.qa-content{padding:24px;display:flex;flex-direction:column;gap:18px}.qa-project-header{display:flex;align-items:center;gap:10px}.qa-code-badge{background:#e0f2fe;color:#0284c7;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.5px}.qa-project-name{margin:0;font-size:17px;font-weight:700;color:#0f172a}.qa-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f8fafc;padding:16px;border-radius:10px;border:1px solid #f1f5f9}.qa-info-item{display:flex;flex-direction:column;gap:4px}.item-label{font-size:12px;color:#64748b;display:flex;align-items:center;gap:4px}.item-value{font-size:14px;color:#1e293b;font-weight:600}.highlight-amount{color:#2563eb;font-size:16px}.qa-comments-box{background:#f8fafc;padding:14px 16px;border-radius:10px;border:1px solid #f1f5f9}.qa-comments-text{margin:6px 0 0;font-size:13px;color:#334155;line-height:1.5}.qa-input-section{display:flex;flex-direction:column;gap:6px}.qa-input-section label{font-size:13px;font-weight:600;color:#334155}.qa-input-section textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;color:#1e293b;box-sizing:border-box;resize:vertical;transition:border-color .2s;outline:none}.qa-input-section textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.qa-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}.qa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.qa-btn:disabled{opacity:.6;cursor:not-allowed}.qa-btn-reject{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.qa-btn-reject:hover:not(:disabled){background:#fee2e2}.qa-btn-approve{background:#2563eb;color:#fff;box-shadow:0 2px 4px #2563eb33}.qa-btn-approve:hover:not(:disabled){background:#1d4ed8}.qa-footer{padding:14px;text-align:center;background:#fafcff;border-top:1px solid #f1f5f9;font-size:12px;color:#94a3b8}:root[data-theme=dark]{--bg-app: #0b0f19;--bg-card: #151c2c;--bg-card-hover: #1e293b;--bg-header: rgba(15, 23, 42, .85);--border-color: rgba(255, 255, 255, .1);--border-color-hover: rgba(66, 133, 244, .4);--text-main: #f8fafc;--text-muted: #94a3b8;--text-subtle: #64748b;--input-bg: #0b0f19;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px -2px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 28px -4px rgba(0, 0, 0, .55);--glass-bg: rgba(21, 28, 44, .75);--glass-border: rgba(255, 255, 255, .08)}:root[data-theme=light]{--bg-app: #f4f6f9;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-header: rgba(255, 255, 255, .85);--border-color: #e2e8f0;--border-color-hover: rgba(66, 133, 244, .5);--text-main: #0f172a;--text-muted: #64748b;--text-subtle: #94a3b8;--input-bg: #f8fafc;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .08);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(226, 232, 240, .8)}:root{--color-logo-blue: #4285F4;--color-logo-blue-hover: #3367D6;--color-logo-blue-light: rgba(66, 133, 244, .12);--color-logo-green: #34A853;--color-logo-green-hover: #2D9247;--color-logo-green-light: rgba(52, 168, 83, .12);--color-logo-yellow: #FBBC05;--color-logo-yellow-dark: #D99B00;--color-logo-yellow-light: rgba(251, 188, 5, .15);--color-logo-red: #EA4335;--color-logo-red-hover: #D93025;--color-logo-red-light: rgba(234, 67, 53, .12);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-title: "Outfit", "Inter", sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal)}a{color:var(--color-logo-blue);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;color:var(--text-main);background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.6rem .9rem;font-size:.9rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--color-logo-blue);box-shadow:0 0 0 3px var(--color-logo-blue-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout-shell{display:flex;min-height:100vh;width:100%}.app-main-wrapper{flex:1;margin-left:250px;display:flex;flex-direction:column;min-width:0}.app-content{flex:1;padding:1.5rem 2rem;max-width:1400px;width:100%;margin:0 auto}@media (max-width: 768px){.app-main-wrapper{margin-left:0}}
