/* Upload-portal additions on top of the shared Civic Bridge styles.css */
.foot { text-align: center; color: var(--slate); font-size: 12px; padding: 0 20px 40px; }
.drop {
  border: 2px dashed #CFCDE6; border-radius: var(--radius); background: var(--white); padding: 38px 20px; text-align: center;
  cursor: pointer; transition: border-color .15s, background .15s;
}
.drop:hover, .drop.over { border-color: var(--purple); background: #F8F5FE; }
.drop strong { display: block; font-size: 17px; margin-bottom: 4px; }
.drop input { display: none; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.stat { background: var(--soft-gray); border-radius: 12px; padding: 12px 14px; }
.stat b { display: block; font-size: 24px; font-weight: 800; line-height: 1.2; }
.stat span { font-size: 12px; font-weight: 600; color: var(--slate); text-transform: uppercase; letter-spacing: .08em; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; max-height: 220px; overflow: auto; }
.chip { font-size: 13px; background: #EFE9FC; color: var(--navy); border-radius: 6px; padding: 3px 8px; }
.chip.empty { background: #FDECEA; color: #B42318; font-style: italic; }
.notes { margin: 0; padding-left: 18px; font-size: 14px; }
.notes li + li { margin-top: 4px; }
.bar { height: 10px; background: var(--soft-gray); border-radius: 99px; overflow: hidden; }
.bar > i { display: block; height: 100%; width: 0; background: var(--gradient); transition: width .2s; }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; font-size: 14px; }
.kv dt { color: var(--slate); font-weight: 600; }
.kv dd { margin: 0; word-break: break-word; }
.done-icon { width: 56px; height: 56px; border-radius: 50%; background: #E7F6EE; color: #11753F; display: grid; place-items: center; font-size: 28px; margin: 0 auto; }
.pwbox { display: flex; gap: 8px; align-items: center; background: var(--soft-gray); border-radius: 10px; padding: 6px 6px 6px 12px; }
.pwbox code { flex: 1; font-size: 16px; letter-spacing: .04em; }
.check.solo { align-items: flex-start; }
.check.solo input { margin-top: 3px; }
table.simple td.num, table.simple th.num { text-align: right; }
.state { text-transform: capitalize; }
