.ico-private-files{margin:24px 0;padding:24px;border:1px solid #ddd;border-radius:12px;background:#fff;color:#222}.ico-private-file{padding:12px 0;border-top:1px solid #eee}.ico-file-drop{display:flex!important;flex-direction:column;gap:12px;padding:20px;border:2px dashed #888;border-radius:10px;cursor:pointer}.ico-file-drop.is-dragging{border-color:#668000;background:#f4ffd9}.ico-private-files input[type=file]{max-width:100%}.ico-private-files h4{margin:12px 0}.ico-private-files small{overflow-wrap:anywhere}
.ico-download-button{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border:2px solid #222;border-radius:8px;background:#222;color:#fff!important;font:600 14px/1.4 Arial,sans-serif;text-decoration:none!important;cursor:pointer;min-height:44px;box-sizing:border-box}
.ico-download-button:hover{background:#454545;border-color:#454545}
.ico-download-button:focus-visible,.ico-file-drop:focus-within{outline:3px solid #0073aa;outline-offset:3px}
.ico-download-button span{font-size:22px;line-height:1}
.ico-file-drop{align-items:center;text-align:center;background:#f7f9fc;border-color:#64748b;padding:24px;font-size:16px;line-height:1.5;transition:background .15s,border-color .15s}
.ico-file-drop:hover{background:#eef2f7;border-color:#222}
.ico-upload-icon{display:grid;place-items:center;width:44px;height:44px;background:#e2e8f0;border-radius:50%;font-size:28px;font-weight:700}
.ico-file-drop input[type=file]{width:auto!important;font-size:14px;cursor:pointer}
.ico-file-drop input[type=file]::file-selector-button{padding:10px 14px;margin-right:10px;border:1px solid #222;border-radius:6px;background:#fff;color:#222;font-weight:600;cursor:pointer}
.ico-private-file>p{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ico-private-files small,.ico-file-status{font-size:14px}
.ico-private-files label:not(.ico-file-drop){font-size:14px}
.ico-private-upload button:disabled{opacity:.65;cursor:wait}
.ico-private-upload .ico-button{background:var(--ico-dark,#222);color:#fff!important;padding:12px 18px;border:1px solid #222;border-radius:8px;font-size:14px;line-height:1.4;min-height:44px;cursor:pointer}
.ico-private-upload .ico-button:hover{background:#454545}
@media(max-width:600px){.ico-private-files{padding:16px}.ico-file-drop{padding:16px}.ico-download-button{width:100%}}
.ico-document-card{padding:20px;margin:16px 0;border:1px solid #cbd5e1;border-radius:12px;background:#fff;line-height:1.6}
.ico-document-card.is-received,.ico-document-card.is-approved{border-color:#9ccbb8;background:#f6fcf9}
.ico-document-card.is-review{border-color:#e6c677;background:#fffdf6}
.ico-document-card.is-missing{border-left:4px solid #b42318}
.ico-document-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ico-document-heading h4{font-size:18px;margin:0}
.ico-document-status{display:inline-flex;padding:6px 10px;border-radius:6px;background:#fff1ee;color:#9b2119;font-size:14px;font-weight:700}
.is-approved .ico-document-status,.is-received .ico-document-status{background:#dff3e8;color:#155d3b}
.is-review .ico-document-status{background:#fff0c5;color:#73520b}
.ico-received-filename{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.ico-file-receipt{padding:16px;border:1px solid #8fc5ad;border-radius:8px;background:#e8f6ef;color:#155d3b;font-weight:600}
.ico-file-copy-link{font-size:14px;color:#245678!important;text-decoration:underline!important}
.ico-replace-document{margin-top:18px;padding-top:14px;border-top:1px solid #cbd5e1}
.ico-replace-document summary{cursor:pointer;font-size:14px;line-height:1.6}
.ico-replace-document summary span{display:inline-block;margin-left:10px;font-weight:700;text-decoration:underline}
.ico-private-upload .ico-upload-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px;margin-top:16px}
.ico-private-upload .ico-upload-actions .ico-button{width:auto;margin:0;justify-content:center;font-weight:700}
.ico-private-upload .ico-replace-confirm{display:flex!important;align-items:center;gap:8px;margin:0!important;max-width:320px;font-weight:500}
.ico-replace-confirm input{flex:none;width:18px!important;height:18px;margin:0!important;accent-color:#222}
.ico-replace-document p{font-size:14px}
.ico-document-help{padding:12px;background:#eef2f6;border-radius:6px}
@media(max-width:600px){.ico-document-card{padding:16px}.ico-private-upload .ico-upload-actions{justify-content:stretch}.ico-private-upload .ico-upload-actions .ico-button{width:100%}.ico-replace-confirm{max-width:none}}
.ico-file-drop{position:relative}.ico-file-drop input[type=file]{position:absolute!important;inset:0;width:100%!important;height:100%;opacity:0;cursor:pointer}
