.company-modal{width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:16px;background:#fff;color:var(--text);box-shadow:0 30px 80px rgba(3,31,73,.28);overflow:auto}
.company-modal::backdrop{background:rgba(3,20,48,.62);backdrop-filter:blur(4px)}
.company-modal-card{background:#fff}
.company-modal-card .form-card-head{position:relative;padding:20px 24px}
.company-modal-card .company-form{padding:22px 24px;gap:15px}
.company-modal-close{position:absolute;right:18px;top:18px;width:34px;height:34px;border:0;border-radius:50%;background:#edf3fb;color:#526786;font-size:24px;line-height:1;cursor:pointer}
.company-modal-close:hover{background:#e1eaf6;color:var(--text)}
.company-data-note{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dce7f5;border-radius:8px;background:#f6f9fd;color:#526786;font-size:9px;line-height:1.45}
.company-data-note>.icon{width:18px;height:18px;color:var(--blue);flex:0 0 auto}
.company-data-note strong{color:var(--text);margin-right:4px}
.company-modal-loading,.company-modal-error{min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:35px;color:var(--muted);font-size:12px}
.company-modal-loading:before{content:"";width:28px;height:28px;border:3px solid #dce8f8;border-top-color:var(--blue);border-radius:50%;animation:company-spin .8s linear infinite}
.company-modal-error strong{color:var(--red)}
@keyframes company-spin{to{transform:rotate(360deg)}}
body:has(.company-modal[open]){overflow:hidden}
.company-modal:has(.client-editor){width:min(1120px,calc(100vw - 40px))}
.client-editor .form-card-head{padding:24px 32px 12px;border:0;background:#fff}.client-editor .form-card-head .eyebrow{display:none}.client-editor .form-card-head h2{font-size:20px}
.client-editor-summary{margin:0 32px 22px;padding:14px 18px;display:flex;align-items:center;gap:14px;border:1px solid #d9e2ee;border-radius:8px;background:#f8fafc}
.client-editor-summary>.icon{width:22px;height:22px;color:#8795a8}.client-editor-summary>div{display:grid;gap:4px}.client-editor-summary strong{font-size:12px}.client-editor-summary span{font-size:11px;color:#71809a}
.company-modal-card .client-editor-form{padding:8px 32px 24px;display:grid;grid-template-columns:1fr 1fr;gap:0}
.client-editor-column{min-width:0;padding:0 28px 20px 0}.client-editor-column.contacts-column{padding:0 0 20px 28px;border-left:1px solid #dde4ed}
.client-editor-column h3{font-size:14px;margin:0 0 12px}.legal-person-tag{height:34px;display:grid;place-items:center;margin-bottom:14px;border-radius:5px;background:#eef2f7;font-size:10px;font-weight:750;color:#53647e}
.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.editor-fields .wide{grid-column:1/-1}
.contact-tabs{width:max-content;display:flex;padding:5px;border-radius:6px;background:#eef2f6;margin-bottom:16px}.contact-tabs span{padding:8px 13px;border-radius:4px;color:#718099;font-size:10px;font-weight:750}.contact-tabs span.active{color:#fff;background:#111}
.contact-card{padding:18px;border:1px solid #dce4ed;border-radius:8px;background:#fafbfd}.contact-card-icon{width:36px;height:36px;margin-bottom:13px;border-radius:8px;background:#e8f1ff;color:#1262ef;display:grid;place-items:center}.contact-card-icon .icon{width:18px;height:18px}
.contacts-column .company-toggle{margin-top:16px}.editor-actions{grid-column:1/-1;margin:0 -32px -24px;padding:16px 32px;border-top:1px solid #e1e7ef;background:#fff}.editor-save{background:#111;box-shadow:none}.editor-save:hover{background:#282828}
.person-type-tabs{width:max-content;display:flex;padding:5px;border-radius:6px;background:#eef2f6;margin-bottom:14px}.person-type-tabs span{padding:8px 13px;border-radius:4px;color:#718099;font-size:10px;font-weight:700}.person-type-tabs span.active{background:#1262ef;color:#fff}.person-type-tabs span:last-child{opacity:.55}
.editor-fields label>span{display:flex;justify-content:space-between;align-items:center}.editor-fields label>span small{font-size:8px;color:#7b899e;font-weight:500}
.cnpj-lookup-control.compact{display:block}.cnpj-lookup-control.compact input{width:100%}.hidden-lookup-button{display:none!important}
.contacts-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.contacts-heading .contact-tabs{margin:0}.contact-counters{display:flex;gap:12px;color:#6e7d92;font-size:10px}
.contact-add-area{min-height:68px;padding:16px;border-radius:7px;background:#f0f3f7;display:flex;align-items:center;margin-top:12px}.contact-add-area button{height:36px;padding:0 14px;border:0;border-radius:5px;background:#1262ef;color:#fff;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;cursor:pointer}.contact-add-area button:hover{background:#0754df}.contact-add-area .icon{width:14px;height:14px}
.client-editor .company-data-note{min-height:50px}.client-editor-column.contacts-column{min-height:545px}
@media(max-width:850px){.company-modal-card .client-editor-form{grid-template-columns:1fr}.client-editor-column{padding-right:0}.client-editor-column.contacts-column{padding:20px 0 0;border-left:0;border-top:1px solid #dde4ed}}
@media(max-width:650px){.company-modal{width:calc(100vw - 18px);max-height:calc(100vh - 18px);border-radius:12px}.company-modal-card .company-form{grid-template-columns:1fr;padding:18px}.company-modal-card .company-form label,.company-modal-card .company-form .wide{grid-column:1/-1}.company-modal-card .form-card-head{padding:18px 56px 18px 18px}.company-modal-card .form-actions{flex-direction:column-reverse}.company-modal-card .form-actions .button{justify-content:center;width:100%}}

.certificate-modal{width:min(590px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:0;border-radius:10px;background:#fff;box-shadow:0 22px 70px rgba(4,25,54,.3);overflow:auto}
.certificate-modal::backdrop{background:rgba(12,21,32,.58)}
.certificate-upload-form{padding:26px 28px;display:grid;gap:14px}
.certificate-upload-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.certificate-upload-form h2{margin:0 0 7px;font-size:19px;color:#18263c}
.certificate-upload-form header p{margin:0;color:#667792;font-size:11px}
.certificate-modal-close{width:28px;height:28px;flex:0 0 28px;border:0;border-radius:50%;background:#f1f3f6;color:#8c97a6;font-size:20px;line-height:1;cursor:pointer}
.certificate-security-note{min-height:52px;padding:10px 13px;border:1px solid #39b777;border-radius:7px;background:#def5e9;color:#15945d;display:flex;align-items:center;gap:10px;font-size:10px;line-height:1.5}
.certificate-security-note .icon{width:18px;height:18px;flex:0 0 18px}
.certificate-upload-error{padding:10px 13px;border:1px solid #f2a6b4;border-radius:7px;background:#fff0f3;color:#c82543;font-size:10px}
.certificate-dropzone{min-height:186px;border:1px dashed #b8cbe0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;transition:.15s}
.certificate-dropzone:hover{border-color:#1262ef;background:#f7faff}
.certificate-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.certificate-cloud{width:58px;height:58px;fill:none;stroke:#a9b2bf;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.certificate-dropzone strong{font-size:12px}.certificate-dropzone span{font-size:10px;color:#6f7f95}
.certificate-password{display:grid;gap:6px}.certificate-password span{font-size:10px;font-weight:600;color:#354968}
.certificate-password input{height:42px;border:1px solid #cbd8e6;border-radius:7px;padding:0 12px;font-size:11px;outline:0}
.certificate-password input:focus{border-color:#1262ef;box-shadow:0 0 0 3px #e2ecff}
.certificate-upload-form>footer{height:auto;padding:4px 0 0;border:0;display:flex;justify-content:flex-end;gap:9px}
.certificate-upload-form>footer .button{box-shadow:none}
.certificate-modal-loading,.certificate-modal-message{min-height:180px;padding:35px;display:grid;place-items:center;gap:16px;color:#64748b;font-size:12px}
.certificate-detail a{height:38px;border-radius:6px;background:#1262ef;color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:700}
.certificate-detail a .icon{width:15px;height:15px}
@media(max-width:600px){.certificate-upload-form{padding:20px}.certificate-upload-form h2{font-size:16px}.certificate-dropzone{min-height:155px}.certificate-upload-form>footer{flex-wrap:wrap}.certificate-upload-form>footer .button{flex:1}}
