:root{color-scheme:light;font-family:Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#1b1b1b;background-color:#f7f7f8}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow:hidden}.app-shell{max-width:90vw;margin:0 auto;padding:40px 24px 80px}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.app-logo{width:140px;height:auto;max-width:60%;display:block}.signout-button{background:transparent;border:1px solid #cfd5dd;color:#1b1b1b;padding:8px 14px;border-radius:999px;font-size:.9rem;cursor:pointer}.signout-button:focus-visible,.signout-button:hover{border-color:#1f4aa8;color:#1f4aa8}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.card h2{margin-top:0}.card form{display:grid;grid-gap:16px;gap:16px;margin-top:24px}.card label{display:grid;grid-gap:8px;gap:8px;font-weight:600}.card input{padding:12px 14px;border-radius:8px;border:1px solid #cfd5dd;font-size:1rem}.card input[readonly]{background-color:#f1f3f6;color:#4a4a4a}.card button{padding:12px 16px;border:none;border-radius:8px;font-size:1rem;font-weight:600;background:#1f4aa8;color:#fff;cursor:pointer}.card .link-button{background:transparent;border:none;color:#1f4aa8;padding:0;text-align:left;font-weight:400;text-decoration:none;justify-self:start;font-size:.8125rem;line-height:1.25rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:-1px;white-space:nowrap;box-shadow:none}.card .link-button:focus-visible,.card .link-button:hover{text-decoration:underline}.card button:focus-visible,.card input:focus-visible{outline:2px solid #1f4aa8;outline-offset:2px}.status{margin:8px 0 0}.status.success{color:#1a6f3c}.status.error{color:#b00020}.table-wrapper{overflow-x:auto;height:calc(100vh - 320px);overflow-y:auto}.stage-table{width:100%;border-collapse:collapse;font-size:.95rem}.stage-table td,.stage-table th{text-align:left;padding:10px 8px;border-bottom:1px solid #e4e8ef;white-space:nowrap}.stage-table td:last-child,.stage-table th:last-child{text-align:right}.stage-table th{font-weight:600;color:#1b1b1b;background:#f7f9fc}.stage-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:4}.stage-table tfoot th{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;background:#f7f9fc}.stage-table td:first-child,.stage-table th:first-child{width:110px;min-width:110px;position:-webkit-sticky;position:sticky;left:0;background:#fff;z-index:1;box-shadow:8px 0 12px -10px rgba(0,0,0,.18)}.stage-table th:first-child{background:#f7f9fc;z-index:5}.stage-table td:nth-child(2),.stage-table th:nth-child(2){position:-webkit-sticky;position:sticky;left:110px;background:#fff;z-index:1;box-shadow:8px 0 12px -10px rgba(0,0,0,.18)}.stage-table th:nth-child(2){background:#f7f9fc;z-index:5}.table-action{background:transparent;border:1px solid #1f4aa8;color:#1f4aa8;padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer}.table-action:focus-visible,.table-action:hover{background:#1f4aa8;color:#fff}.stage-table td.table-number,.stage-table th.table-number{text-align:right}.stage-detail-card{padding:16px;max-height:calc(100vh - 220px);overflow:hidden}.stage-detail-header{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.accounts-layout{display:flex;gap:16px;align-items:stretch;margin-top:16px}.accounts-layout .table-wrapper{flex:1 1}.summary-table{width:280px;min-width:240px;height:calc(100vh - 320px);border-collapse:collapse;font-size:.9rem;background:#fff;border:1px solid #cfd5dd;border-radius:12px;overflow:hidden;box-shadow:inset 0 3px 0 #1f4aa8;outline:3px solid #cfd5dd;outline-offset:-1px}.summary-table td,.summary-table th{text-align:left;padding:10px 8px;border-bottom:1px solid #e4e8ef;white-space:nowrap}.summary-table td.table-number,.summary-table th.table-number{text-align:right}.summary-table th{font-weight:600;color:#1b1b1b;background:#f7f9fc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.stage-embed{height:70vh;border:1px solid #e4e8ef;border-radius:12px;overflow:hidden}.stage-embed iframe{width:100%;height:100%;border:none}.loading{display:inline-flex;align-items:center;gap:10px;color:#4a4a4a;font-size:.95rem}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid #d1d7e2;border-top-color:#1f4aa8;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.tabs{display:flex;gap:12px;margin:16px 0 20px}.tab-bar{display:flex;gap:6px;margin:0 0 24px;width:100%}.tab-button{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d1d5db;background:#fff;color:#6b7280;padding:8px 16px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border-radius:6px}.tab-button:hover:not(.active){color:#374151;background:#b7babe}.tab-button:hover:not(.active) svg{color:#374151;stroke:#374151}.tab-button.active{color:#fff;font-weight:600;background:#1e3a5f;border-color:#1e3a5f;box-shadow:0 1px 2px rgba(0,0,0,.1)}.tab-button svg{width:16px;height:16px;flex-shrink:0;color:#6b7280;stroke:#6b7280}.tab-button.active svg{color:#fff;stroke:#fff}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:1000;padding:12px 24px;border-radius:10px;background:#1b1b1b;color:#fff;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:toast-fade-in .3s ease-out}.toast-success{background:#16a34a}.toast-error{background:#ea580c}.approval-stamp{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.approval-stamp.approved{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.approval-stamp.declined{background:#ffedd5;color:#9a3412;border:1px solid #fed7aa}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:450px;box-shadow:0 10px 40px rgba(0,0,0,.2)}.modal h3{margin:0 0 8px;font-size:1.25rem;color:#1b1b1b}.modal p{margin:0 0 16px;color:#666;font-size:.95rem}.decline-note-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;box-sizing:border-box}.decline-note-input:focus{outline:none;border-color:#3b5998}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.modal-cancel{padding:10px 20px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;font-weight:600;cursor:pointer}.modal-cancel:hover{background:#f5f5f5}.modal-confirm{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer}.modal-confirm:disabled{opacity:.5;cursor:not-allowed}.note-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#06c;cursor:pointer;transition:color .15s ease}.note-icon:hover{color:#049}.note-icon svg{width:16px;height:16px}.note-text-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;min-height:60px;white-space:pre-wrap;font-size:.9rem;color:#1b1b1b}.note-meta{font-size:.8rem;color:#64748b;margin-bottom:12px}.attachment-list{list-style:none;padding:0;margin:0}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f1f5f9;border-radius:6px;margin-bottom:8px}.attachment-item:last-child{margin-bottom:0}.attachment-link{color:#06c;text-decoration:none;font-size:.875rem;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-link:hover{text-decoration:underline;color:#049}.attachment-download-btn{background:#06c;color:#fff;border:none;padding:4px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .15s ease}.attachment-download-btn:hover{background:#049}.file-selector-list{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.file-selector-button{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:150px;height:130px;padding:8px 8px 10px;background:#fff!important;border:none!important;border-radius:16px;font-weight:500;color:#64748b!important;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06)}.file-selector-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.08)}.file-selector-logo-area{flex:1 1;display:flex;align-items:center;justify-content:center;width:100%}.file-selector-logo{max-width:130px;max-height:85px;object-fit:contain}.file-selector-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;margin-top:6px}.file-switcher{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.file-switcher-button{display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:150px;height:130px;padding:8px 8px 10px;background:#fff!important;border:none!important;border-radius:16px;font-weight:500;color:#64748b!important;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06)}.file-switcher-logo-area{flex:1 1;display:flex;align-items:center;justify-content:center;width:100%}.file-switcher-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:clamp(.7rem,2.5vw,.85rem);line-height:1.2;margin-top:6px}.file-switcher-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.08)}.file-switcher-button.active{background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;color:#1e293b!important;font-weight:600;box-shadow:inset 0 2px 4px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.05);transform:translateY(0)}.file-switcher-button.active:hover{transform:translateY(0)}.file-switcher-logo{max-width:130px;max-height:85px;object-fit:contain}@keyframes toast-fade-in{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.centered{min-height:60vh;display:grid;place-items:center;font-size:1.1rem}.stage-detail-title-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:16px;gap:16px;width:100%}.stage-detail-title-row h2{margin:0;text-align:center;grid-column:2}.stage-detail-title-row .back-button{justify-self:start;grid-column:1}.stage-detail-title-row .approval-buttons,.stage-detail-title-row .approval-stamp{justify-self:end;grid-column:3}.back-button{background:transparent;border:1px solid #cfd5dd;color:#1b1b1b;padding:8px 14px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap}.back-button:focus-visible,.back-button:hover{border-color:#1f4aa8;color:#1f4aa8}.approval-buttons{display:flex;gap:8px}.approve-button,.decline-button{min-width:100px;padding:10px 24px;border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer;text-align:center;transition:all .15s ease}.approve-button{background:#1a6f3c;color:#fff;border:none}.approve-button:focus-visible,.approve-button:hover{background:#145a30}.approve-button:disabled,.decline-button:disabled{opacity:.6;cursor:not-allowed}.decline-button{background:transparent;color:#b00020;border:1px solid #b00020}.decline-button:focus-visible,.decline-button:hover{background:#b00020;color:#fff}