/* Contract PDF trial follows object cards and shared buttons. */
.ct-entry,.ct-saved{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border:1px solid #d7e5d9;border-radius:15px;background:#f2f7f1;padding:22px;margin:20px 0}.ct-entry p{font-size:14px;margin:6px 0}.ct-entry small,.ct-saved small{font-size:12px;color:#748474;line-height:1.6}.ct-kicker{display:block;color:#6e8768;font-size:12px;margin-bottom:8px}.ct-entry h3{margin:0;font-size:19px}.ct-saved{background:#fff}.ct-saved span,.ct-saved small{display:block}.ct-saved span{font-size:12px;color:#768374}.ct-saved strong{display:block;font-size:26px;font-weight:500;color:#315f3d;margin:8px 0}.ct-dialog{width:min(600px,calc(100vw - 32px));max-width:none;max-height:92vh;overflow:auto;color:#2d4333}.ct-dialog.ct-wide{width:min(1250px,calc(100vw - 32px))}.ct-dialog .eo-dialog-head{position:sticky;top:0;background:#fff;z-index:2}.ct-dialog .eo-dialog-head h2{font-size:21px;margin:4px 0}.ct-dialog-body{padding:24px}.ct-dialog .ed-muted{font-size:12px;color:#7e8b7c;line-height:1.65}.ct-progress{color:#527d50;font-size:14px;line-height:1.6;min-height:24px}.ct-review{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.15fr);gap:24px;align-items:start}.ct-file-name{color:#798574;font-size:12px;margin:0 0 18px;overflow-wrap:anywhere}.ct-candidates{display:grid;gap:10px;max-height:400px;overflow-y:auto;padding:2px}.ct-candidate{display:flex;gap:12px;align-items:flex-start;border:1px solid #dce6d8;border-radius:12px;padding:15px;cursor:pointer;line-height:1.6}.ct-candidate:has(input:checked){border-color:#6f976c;background:#f2f7ef}.ct-candidate input{margin-top:7px;accent-color:#577d50}.ct-candidate b{display:block;font-size:19px;font-weight:500;color:#365f36}.ct-candidate small{display:block;font-size:11px;color:#7e8d76;margin:3px 0 8px}.ct-candidate span>span{display:block;font-size:12px;color:#687b5e;overflow-wrap:anywhere}.ct-value{border-top:1px solid #e0e8da;border-bottom:1px solid #e0e8da;padding:18px 0;margin:22px 0}.ct-value span{display:block;font-size:12px;color:#75866b}.ct-value strong{display:block;font-size:28px;font-weight:500;margin-top:8px;letter-spacing:-.6px}.ct-confirm{display:flex;align-items:flex-start;gap:10px;line-height:1.65;font-size:13px;margin:18px 0}.ct-confirm input{margin-top:5px;accent-color:#557c4c}.ct-dialog [disabled]{opacity:.48;cursor:default}.ct-dialog .ed-error,.ct-dialog .ed-notice{font-size:13px;line-height:1.65}.ct-verified{font-size:13px;color:#527d47}.ct-viewer{min-width:0;border:1px solid #dbe3d8;background:#f0f3ef;border-radius:12px;padding:14px;position:sticky;top:95px}.ct-page-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:#71816a}.ct-page-controls input{width:55px;padding:7px 4px;text-align:center;border:1px solid #cedbc7;border-radius:6px;background:#fff;color:inherit;font:inherit}.ct-canvas-wrap{max-height:620px;overflow:auto}.ct-canvas-wrap canvas{display:block;max-width:100%;height:auto;background:#fff;box-shadow:0 2px 8px #20301f12}.ct-finance-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#f1f6ed;border:1px solid #d9e7d0;border-radius:16px;padding:24px;margin-bottom:22px}.ct-finance-hero h3{font-size:17px;font-weight:500;margin:0}.ct-finance-hero strong{display:block;font-size:38px;line-height:1.2;font-weight:500;letter-spacing:-1px;color:#335d35;margin:14px 0}.ct-finance-hero p,.ct-finance-hero>small{font-size:12px;color:#7c8c73;line-height:1.6;margin:0}.ct-finance-actions{display:flex;gap:10px;flex-wrap:wrap}.ct-contract-bar{width:100%;height:5px;border-radius:5px;overflow:hidden;background:#d4e2ca}.ct-contract-bar span{display:block;width:100%;height:100%;background:#78986b}.ct-finance-hero>small{width:100%}
@media(max-width:800px){.ct-review{grid-template-columns:minmax(0,1fr)}.ct-viewer{position:static}.ct-candidates{max-height:320px}.ct-dialog-body{padding:18px}.ct-canvas-wrap{max-height:540px}.ct-entry{padding:18px}.ct-finance-hero strong{font-size:30px}.ct-finance-hero{padding:20px}.ct-finance-actions{width:100%}.ct-dialog .eo-dialog-head h2{font-size:18px}}
.ct-document-frame{display:block;width:100%;height:570px;border:0;background:#fff;border-radius:4px}.ct-file-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.ct-file-toolbar .ct-file-name{margin:0;min-width:0}.ct-zoom-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.ct-zoom-controls>span{font-size:12px;min-width:40px;text-align:center}.ct-page-controls{flex-wrap:wrap}.ct-page-controls [data-ct-location]{flex:1;min-width:70px;overflow-wrap:anywhere}.ct-page-input{white-space:nowrap}.ct-preview-only{grid-template-columns:minmax(0,1fr)}.ct-preview-only .ct-viewer{position:static}.ct-preview-notes{font-size:12px;color:#73846d;margin:0 0 16px;line-height:1.6}.ct-preview-notes summary{cursor:pointer}.ct-price-review{min-width:0}.ct-price-review>h3{font-size:16px;margin:0 0 14px}.ct-dialog.ct-fullscreen{width:calc(100vw - 16px);max-height:calc(100vh - 16px);height:calc(100vh - 16px);margin:8px}.ct-fullscreen .ct-document-frame{height:calc(100vh - 280px);min-height:400px}.ct-fullscreen .ct-canvas-wrap{max-height:calc(100vh - 280px)}.ct-local-files{margin:20px 0}.ct-file-type{font-size:11px;color:#55744b;border-radius:8px;background:#eef4ea;padding:10px;min-width:46px;text-align:center}.ct-dialog::backdrop{background:rgb(25 41 30 / 42%)}
@media(max-width:600px){.ct-document-frame{height:480px}.ct-viewer{padding:10px}.ct-dialog.ct-wide{width:calc(100vw - 16px)}.ct-dialog-body{padding:14px}.ct-zoom-controls .er-btn{padding:8px 10px}.ct-page-controls .er-btn{padding:8px}.ct-dialog .eo-dialog-head{padding:16px}.ct-fullscreen .ct-document-frame{min-height:300px}}


/* Saved originals are a gallery; opening a card is separate from uploading. */
.ct-file-folder{display:flex;align-items:center;gap:7px;width:100%;min-height:40px;padding:9px 14px;border:0;border-top:1px solid #e3eae6;background:#fff;color:#6c8174;text-align:left;font:inherit;font-size:11px;cursor:pointer}.ct-file-folder svg{width:16px;height:16px;flex:none}.ct-file-folder:hover{color:#315d49}.ct-file-folder:focus-visible{outline:2px solid #517c63;outline-offset:-3px}
.ct-confirm-dialog{max-width:520px}.ct-delete-name{overflow-wrap:anywhere}.ct-confirm-dialog .ed-actions{justify-content:flex-end;margin-top:24px}
.ct-archive-list{border-top:1px solid #e3eae6}.ct-archive-item{display:flex;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid #e3eae6}.ct-archive-item>div{min-width:0}.ct-archive-item b{font-size:14px;font-weight:500;overflow-wrap:anywhere}.ct-archive-item small{display:block;margin-top:7px;color:#7c8c82;font-size:12px}.ct-archive-item dl{display:flex;gap:28px;flex-shrink:0;margin:0;font-size:12px}.ct-archive-item dt{color:#7c8c82;margin-bottom:7px}.ct-archive-item dd{margin:0}.ct-archive-item time{white-space:nowrap}
@media(max-width:800px){.ct-archive-item{flex-direction:column;gap:15px}.ct-archive-item dl{flex-wrap:wrap;gap:15px 28px}}
.ct-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:16px}
.ct-file-card{position:relative;min-width:0;overflow:hidden;border:1px solid #dce5e0;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.ct-file-card:hover{border-color:#9db7a7;box-shadow:0 3px 12px #21392d0a}
.ct-file-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:#253e38;text-align:left;font:inherit;cursor:pointer}
.ct-file-open:focus-visible{outline:2px solid #517c63;outline-offset:-3px;border-radius:11px}
.ct-thumbnail{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;position:relative;aspect-ratio:4/3;overflow:hidden;background:#f3f6f4;border-bottom:1px solid #e3eae6;color:#91a398;pointer-events:none}
.ct-thumbnail>svg{width:44px;height:44px}.ct-thumbnail>span{font-size:12px}
.ct-thumbnail>img{width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box}
.ct-thumbnail-frame{position:absolute;left:0;top:0;width:400%;height:400%;border:0;background:white;transform:scale(.25);transform-origin:top left;pointer-events:none}
.ct-file-card .ct-file-type{position:absolute;top:10px;left:10px;min-width:0;padding:4px 7px;border-radius:5px;background:#fffffff2;color:#597360;font-size:10px;letter-spacing:.04em;pointer-events:none}
.ct-file-info{display:block;padding:14px 14px 16px;min-width:0}
.ct-file-info strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-height:42px;font-size:14px;line-height:21px;font-weight:500}
.ct-file-info small{display:block;margin-top:7px;font-size:12px;color:#77877d;line-height:18px;overflow-wrap:anywhere}
.ct-file-remove{position:absolute;right:8px;top:8px;width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid #dce5df;border-radius:7px;background:#fffffff2;color:#687c70;font:18px/1 Arial,sans-serif;cursor:pointer}
.ct-file-remove:hover{background:#fff;color:#263d30}.ct-file-remove:focus-visible{outline:2px solid #517c63;outline-offset:2px}
.ct-files-empty{padding:36px 20px;text-align:center;border:1px dashed #dbe4de;border-radius:12px;color:#78877e;margin:20px 0}
.ct-files-empty>span{display:block;margin:0 auto 12px;width:36px;height:36px;color:#91a398}.ct-files-empty h3{font-weight:500}.ct-files-empty p{font-size:14px;margin:8px 0 0}
.ct-storage-note{font-size:12px;color:#7a8980;margin:18px 0 0}
.ct-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;color:#7a8980;font-size:12px;line-height:18px}
.ct-people-count{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#52715f}
.ct-people-count svg{width:18px;height:18px;flex:none}
.ct-project-team{margin:0 0 18px;border-top:1px solid #e2e9e4;padding-top:14px}
.ct-project-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ct-project-actions b{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.ct-project-actions small{display:block;margin-top:6px;font-size:12px;color:#7a8980}
.ct-project-actions svg,.ct-share-actions svg,.ct-share-targets svg,.ed-participants h3 svg{width:18px;height:18px;flex:none;vertical-align:middle}
.ct-project-actions .er-btn,.ct-share-actions .er-btn,.ct-share-link{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ct-project-team .ed-paper{margin-top:12px;padding:16px}.ct-project-team .ed-participants>.ed-version-head h3{display:none}
.ct-team-stats{display:flex;gap:12px 24px;flex-wrap:wrap;color:#748579;font-size:12px;margin:14px 0 18px}
.ct-team-stats b{font-size:14px;font-weight:500;color:#344f40;margin-left:5px}
.ct-share-dialog{max-width:560px;width:calc(100vw - 32px)}
.ct-share-title{overflow-wrap:anywhere;font-weight:500;color:#344f40}
.ct-share-actions,.ct-share-targets{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.ct-share-targets .er-btn{flex:1}.ct-share-dialog input{width:100%;box-sizing:border-box}
.ed-participants h3{display:flex;align-items:center;gap:8px}.ed-record .ct-card-meta{justify-content:flex-start;gap:20px;margin-top:6px}
@media(max-width:600px){.ct-project-actions>.ed-actions{width:100%}.ct-project-actions .er-btn{flex:1}.ct-team-stats{gap:8px 14px}.ct-share-targets{gap:8px}.ct-share-targets .er-btn{padding:10px}.ct-project-team .ed-people article{flex-wrap:wrap}}
