/* Contract Site Schedules - scoped to its own classes, reuses the app tokens in style.css */
.ss-upload { display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; margin:12px 0; }
.ss-upload .field input[type=text] { min-width:260px; }
.ss-frame { width:100%; height:1100px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.ss-btn { display:inline-block; padding:7px 14px; margin-right:8px; border:1px solid var(--schedule); border-radius:6px; color:var(--schedule); text-decoration:none; font-size:.88rem; }
.ss-btn:hover { background:var(--schedule); color:#fff; }
.ss-link { background:none; border:0; color:var(--exception); cursor:pointer; font:inherit; padding:0; }
.ss-settings h3 { font-size:.95rem; margin:16px 0 8px; }
.ss-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:10px 16px; }
.ss-grid label { display:flex; flex-direction:column; gap:4px; font-size:.82rem; color:var(--muted); }
.ss-grid input { padding:6px 8px; border:1px solid var(--line); border-radius:4px; font:inherit; }
.ss-upload .field { margin-bottom: 0; }
.ss-upload .field input[type=text], .ss-upload .field input[type=file] { height: 42px; box-sizing: border-box; padding-top: 0; padding-bottom: 0; }
.ss-upload .field input[type=file] { display: flex; align-items: center; }
.ss-upload .submit-btn { height: 42px; padding-top: 0; padding-bottom: 0; }
.ss-upload #ss-wait { align-self: center; }
.ss-rev td.ss-name { white-space: normal; min-width: 220px; }
.ss-rev td.ss-file { max-width: 240px; overflow: hidden; text-overflow: ellipsis; }
.ss-rev td.ss-by { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
