.tracked-contract-button,.tracked-project-contract-action{color:#f0cf99!important;border:1px solid #806444!important;background:#30281e!important;border-radius:9px;padding:10px 14px;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.contract-dialog{box-sizing:border-box;width:min(1420px,calc(100vw - 36px));height:min(900px,calc(100dvh - 36px));max-width:none;max-height:none;padding:0;border:1px solid #38515e;border-radius:18px;background:#0d171f;color:#dae7ee;box-shadow:0 25px 100px #0009;font:14px system-ui,sans-serif;overflow:hidden}
.contract-dialog::backdrop{background:#030b12c9;backdrop-filter:blur(5px)}
.contract-dialog[open]{display:flex;flex-direction:column}.contract-dialog *{box-sizing:border-box}.contract-dialog [hidden]{display:none!important}
.contract-dialog header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #2a3d49;gap:12px}.contract-dialog header>div{min-width:0}.contract-dialog h2{overflow-wrap:anywhere;font-size:20px;margin:5px 0 0;line-height:1.3}.contract-dialog .eyebrow{color:#dfb979;font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:800}
.contract-dialog button,.contract-file{border:1px solid #3a5261;background:#172833;color:#dfeaf0;border-radius:8px;font:inherit;padding:9px 13px;cursor:pointer}.contract-dialog button:focus-visible,.contract-dialog input:focus-visible,.contract-dialog select:focus-visible,.contract-dialog textarea:focus-visible,.contract-file:focus-within{outline:2px solid #56d8ec;outline-offset:2px}.contract-dialog button:hover{background:#233d4b}.contract-dialog button:disabled{opacity:.5;cursor:wait}.contract-dialog header button{font-size:24px;padding:2px 12px}
#contractMessage{padding:0 24px;color:#9cddcb;font-size:12px}#contractMessage:not(:empty){padding-top:9px;padding-bottom:9px;border-bottom:1px solid #23343e}#contractMessage.error{color:#f2b780}
#contractBody{flex:1;min-height:0;overflow:hidden}.contract-loading{padding:30px}.contract-editing{height:100%;display:grid;grid-template-columns:148px minmax(0,1fr) 255px}.contract-editing nav{padding:18px 10px;border-right:1px solid #253a46;display:flex;flex-direction:column;gap:7px}.contract-editing nav button{background:transparent;border-color:transparent;text-align:left;color:#94aebb}.contract-editing nav button.active{background:#263122;border-color:#647051;color:#f0d2a3}
#contractFields{overflow:auto;min-width:0;padding:22px 25px;margin:0}.contract-section-heading{margin-bottom:22px}.contract-section-heading h3{font-size:19px;margin:0 0 5px}.contract-section-heading span,.contract-source{font-size:12px;color:#9bb1be;line-height:1.6}.contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.contract-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;min-width:0}.contract-field b{color:#dea568}.contract-field input,.contract-field select,.contract-field textarea{width:100%;min-width:0;border:1px solid #3a5260;border-radius:7px;background:#081219;color:#edf4f8;font:14px system-ui;padding:10px;min-height:42px;margin:0}.contract-field textarea{resize:vertical;line-height:1.6}.contract-field small{font-weight:400;color:#8fa7b4;font-size:11px;line-height:1.5}.contract-wide{grid-column:1/-1}.contract-check{flex-direction:row;align-items:center;min-height:42px;font-weight:500}.contract-check input{width:17px;height:17px;min-height:0;flex:0 0 17px;accent-color:#c69c5d}.contract-check:has(small){flex-wrap:wrap}
.contract-summary{background:#111f28;border-left:1px solid #293e4b;padding:23px 20px;overflow:auto}.contract-summary>strong{display:block;font-size:27px;color:#e6c594;margin:10px 0 3px;font-variant-numeric:tabular-nums}.contract-summary>span{font-size:11px;color:#96afbd;display:block;line-height:1.5}.contract-summary dl{margin:23px 0}.contract-summary dl div{padding:12px 0;border-bottom:1px solid #2a3d46;display:flex;gap:10px;justify-content:space-between}.contract-summary dt{font-size:12px;color:#a2b7c4}.contract-summary dd{margin:0;font-size:13px;font-weight:600}.contract-summary small{display:block;font-size:11px;color:#8ca3b1;line-height:1.7;margin-top:25px}#contractReview>strong{font-size:12px;color:#e4ba81}#contractReview>strong.ready{color:#82d4ae}#contractReview button{display:block;background:none;border:0;padding:7px 0;font-size:11px;text-align:left;color:#a7bdca;line-height:1.5}
.contract-fixed-note{background:#182b29;border-left:3px solid #648d7a;padding:14px;margin-top:22px;font-size:12px;line-height:1.5}.contract-fixed-note p{margin:5px 0 0;color:#a2b9b4}.contract-attachment{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #293d49;padding:15px 0}.contract-attachment strong{flex:1;font-size:12px}.contract-attachment span{font-size:11px;word-break:break-word}.contract-file input{position:absolute;opacity:0;width:1px;height:1px}.contract-file{font-size:12px;position:relative}.contract-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #2d424f;padding:13px 24px;background:#0b141b}/* Keep backup/reset actions secondary, with one aligned footer control. */
.contract-draft-bar{display:flex;align-items:center;gap:12px;min-width:0}
#contractSaved{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.35;color:#8ba7a8;max-width:160px}
#contractSaved::before{content:"";width:5px;height:5px;border-radius:50%;background:#67818c;flex-shrink:0}
#contractSaved[data-state="saved"]::before{background:#66bca6}#contractSaved[data-state="error"]{color:#efb275}#contractSaved[data-state="error"]::before{background:#efb275}
.contract-draft-menu{position:relative;flex-shrink:0}.contract-draft-menu>summary{display:flex;align-items:center;justify-content:center;gap:12px;list-style:none;min-height:40px;padding:9px 13px;border:1px solid #344b58;border-radius:8px;background:#13222c;color:#bcd0da;font-size:12px;font-weight:600;cursor:pointer;user-select:none}.contract-draft-menu>summary::-webkit-details-marker{display:none}.contract-draft-menu>summary:hover,.contract-draft-menu[open]>summary{background:#1e3542;border-color:#567382;color:#edf5f8}.contract-draft-menu>summary:focus-visible{outline:2px solid #56d8ec;outline-offset:2px}.contract-draft-menu[open]>summary svg{transform:rotate(180deg)}
.contract-draft-popover{position:absolute;bottom:calc(100% + 10px);left:0;width:200px;padding:6px;border:1px solid #3a5362;border-radius:11px;background:#14232d;box-shadow:0 12px 35px #0008;z-index:2}
.contract-dialog .contract-draft-popover button{display:block;width:100%;border:0;background:transparent;border-radius:6px;text-align:left;padding:12px;font-size:12px;line-height:1.3;color:#d4e3eb}.contract-dialog .contract-draft-popover button:hover{background:#233c49}.contract-dialog .contract-draft-popover [data-reset]{border-top:1px solid #2e4451;border-radius:0 0 6px 6px;margin-top:4px;color:#e3a6ab}
.contract-footer-actions{display:flex;gap:9px}.contract-footer-actions button{min-height:40px}.contract-dialog .contract-pdf{color:#ffcbcb;background:#472127;border:1px solid #91515a;font-weight:800;min-width:82px}.contract-dialog .contract-pdf:hover{background:#63303a}
#contractPreview{height:100%;display:flex;flex-direction:column}.contract-preview-toolbar{display:flex;align-items:center;gap:12px;padding:10px 18px}.contract-preview-toolbar button:first-child{margin-right:auto}.contract-canvas{flex:1;overflow:auto;min-height:0;text-align:center;padding:12px}.contract-canvas canvas{background:white;max-width:100%;height:auto}
@media(max-width:1000px){.contract-editing{grid-template-columns:125px minmax(0,1fr)}.contract-summary{display:none}#contractFields{padding:20px}.contract-grid{gap:16px}}
@media(max-width:620px){.contract-dialog{width:100vw;height:100dvh;border-radius:0;border:0}.contract-dialog header{padding:13px 16px}.contract-dialog header>div{min-width:0}.contract-dialog h2{overflow-wrap:anywhere;font-size:17px}.contract-editing{display:flex;flex-direction:column}.contract-editing nav{flex-direction:row;overflow:auto;flex-shrink:0;padding:8px 12px;border:0;border-bottom:1px solid #293e4b;gap:2px}.contract-editing nav button{white-space:nowrap;font-size:12px;padding:8px 10px}#contractFields{padding:17px;flex:1}.contract-grid{grid-template-columns:1fr;gap:16px}.contract-field input,.contract-field select,.contract-field textarea{font-size:16px}.contract-dialog footer{padding:11px 15px;align-items:center;gap:8px}.contract-draft-bar{gap:8px}#contractSaved{font-size:10px;max-width:80px}.contract-draft-menu>summary{min-height:44px;padding:10px 12px;gap:8px}.contract-footer-actions button{padding:11px;min-height:44px}.contract-dialog .contract-pdf{min-width:55px}.contract-section-heading{margin-bottom:17px}#contractMessage{padding-left:16px;padding-right:16px}.contract-dialog footer>div:first-child{min-width:0;flex:1}}

/* UX proposal H: make every contract section reachable on narrow screens. */
.contract-mobile-section{display:none}
@media(max-width:620px){.contract-editing nav{display:none}.contract-mobile-section{display:flex;align-items:center;gap:14px;margin:0;padding:8px 16px;border-bottom:1px solid #293e4b;flex-shrink:0;color:#91aab8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contract-mobile-section select{flex:1;min-width:0;min-height:44px;padding:9px 12px;border:1px solid #3a5261;border-radius:8px;background:#172833;color:#edf4f8;font:600 16px system-ui;letter-spacing:normal;text-transform:none}}
