
.aim-subtabs{display:flex;gap:2px;margin-bottom:1.5rem;border-bottom:0.5px solid var(--border)}
.aim-subtabs button{padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.92rem;font-weight:400;font-family:var(--font);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:7px;margin-bottom:-1px}
.aim-subtabs button:hover{color:var(--text)}
.aim-subtabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
.aim-subtabs button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

.aim-section{display:none}
.aim-section.active{display:block}

.aim-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}
.aim-row > .btn{white-space:nowrap;flex-shrink:0}
.aim-row-title{font-size:1.05rem;font-weight:500}
.aim-row-sub{font-size:.82rem;color:var(--text-dim);margin-top:2px}

.aim-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}
.aim-cal-month{font-size:1.05rem;font-weight:500}
.aim-cal-head-right{display:flex;gap:.6rem;align-items:center}
.aim-cal-mode-toggle{display:flex;gap:2px;background:var(--bg);border-radius:7px;padding:2px}
.aim-cal-mode-toggle button{font-size:.78rem;padding:5px 11px;border-radius:5px;border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit}
.aim-cal-mode-toggle button.active{background:#fff;color:var(--accent);font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,0.06)}
.aim-cal-nav{display:flex;gap:.4rem}
.aim-cal-nav button{width:30px;height:30px;border-radius:var(--radius-xs);border:0.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:var(--font);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}
.aim-cal-nav button:hover{background:var(--bg)}
.aim-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.aim-cal-dow{font-size:.76rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:6px 0;font-weight:500}
.aim-cal-day{aspect-ratio:1;background:var(--bg);border-radius:var(--radius-xs);padding:6px 7px;font-size:.88rem;color:var(--text);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;border:0.5px solid transparent;transition:all .15s;min-height:70px;overflow:hidden}
.aim-cal-day:hover{border-color:var(--accent-border);background:#fff}
.aim-cal-day.dim{color:var(--text-faint);background:transparent;cursor:default}
.aim-cal-day.today{background:var(--accent-light);color:var(--accent);font-weight:500}
.aim-cal-day.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-border);background:#fff}
.aim-cal-day.today.selected{background:var(--accent-light)}
.aim-cal-day.has-receber{background:#f0fdf4}
.aim-cal-day.has-pagar{background:#fef2f2}
.aim-cal-day.has-vencimento{background:#fef3c7}
.aim-cal-day.has-atraso{background:#fff7ed;border-left:3px solid #ea580c;padding-left:5px}
.aim-cal-day.today.has-receber,.aim-cal-day.today.has-pagar,.aim-cal-day.today.has-vencimento,.aim-cal-day.today.has-atraso{background:var(--accent-light)}
.aim-cal-day .num{font-size:.92rem}
.aim-cal-day-head{display:flex;justify-content:space-between;align-items:flex-start;gap:3px;width:100%}
.aim-cal-badges{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end}
.aim-cal-badge{font-size:.6rem;padding:1px 5px;border-radius:99px;color:#fff;font-weight:500;line-height:1.4;font-family:inherit;min-width:14px;text-align:center}
.aim-cal-badge.evt{background:#16a34a}
.aim-cal-badge.pagar{background:#dc2626}
.aim-cal-badge.atraso{background:#ea580c}
.aim-cal-badge.venc{background:#f59e0b}
.aim-cal-day-bottom{font-size:.62rem;font-weight:500;line-height:1.15;display:flex;flex-direction:column;gap:1px;min-width:0}
.aim-cal-day-bottom > div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-cal-val-receber{color:#16a34a}
.aim-cal-val-pagar{color:#dc2626}
.aim-cal-val-atraso{color:#ea580c}
.aim-cal-val-venc{color:#92400e}
.aim-cal-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.85rem;font-size:.85rem;color:var(--text-secondary)}
.aim-cal-legend span{display:inline-flex;align-items:center;gap:5px}
.aim-cal-legend .dt{width:8px;height:8px;border-radius:50%}
.aim-agenda-list{display:flex;flex-direction:column;gap:0}
.aim-agenda-day{display:flex;gap:14px;align-items:flex-start;padding:11px 4px;border-bottom:0.5px solid #f1f1f1;cursor:pointer;transition:background .12s}
.aim-agenda-day:hover{background:var(--bg)}
.aim-agenda-day:last-child{border-bottom:none}
.aim-agenda-date{width:50px;flex-shrink:0;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.1}
.aim-agenda-dow{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}
.aim-agenda-num{font-size:22px;font-weight:500;color:var(--text);margin-top:2px}
.aim-agenda-num.today{color:var(--accent)}
.aim-agenda-num.atraso{color:#ea580c}
.aim-agenda-num.pagar{color:#dc2626}
.aim-agenda-num.venc{color:#92400e}
.aim-agenda-today-lbl{font-size:9.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-top:1px}
.aim-agenda-itens{flex:1;display:flex;flex-direction:column;gap:5px;padding-top:6px;min-width:0}
.aim-agenda-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text)}
.aim-agenda-item .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.aim-agenda-item.atraso{color:#ea580c}
.aim-agenda-item.pagar{color:#dc2626}
.aim-agenda-item.venc{color:#92400e}
.aim-agenda-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-agenda-empty{font-size:12px;color:var(--text-faint);font-style:italic}

.aim-aviso{display:flex;gap:.75rem;padding:.85rem;border-radius:var(--radius-sm);background:var(--bg);border:0.5px solid var(--border);margin-bottom:.55rem;align-items:flex-start;transition:all .15s}
.aim-aviso:hover{border-color:var(--border-light)}
.aim-aviso.urgent{background:#fef2f2;border-color:rgba(220,38,38,.15)}
.aim-aviso.warn{background:#fffbeb;border-color:rgba(217,119,6,.15)}
.aim-aviso.done{opacity:.5}
.aim-aviso-icon{width:30px;height:30px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.aim-aviso-icon.evt{background:rgba(5,150,105,.1);color:var(--green)}
.aim-aviso-icon.tsk{background:rgba(220,38,38,.1);color:var(--red)}
.aim-aviso-icon svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.aim-aviso-body{flex:1;min-width:0}
.aim-aviso-title{font-size:.92rem;font-weight:500;margin-bottom:2px}
.aim-aviso-meta{font-size:.82rem;color:var(--text-dim)}
.aim-aviso-acts{display:flex;gap:.3rem;flex-shrink:0;align-items:center}
.aim-type-badge{font-size:.7rem;padding:1px 7px;border-radius:99px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;align-self:center;margin-right:.4rem}
.aim-type-badge.evt{background:rgba(5,150,105,.1);color:var(--green)}
.aim-type-badge.tsk{background:rgba(220,38,38,.08);color:var(--red)}
.aim-btn-mini{padding:4px 8px;font-size:.78rem;border-radius:var(--radius-xs);border:0.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-family:var(--font);display:inline-flex;align-items:center;gap:4px}
.aim-btn-mini:hover{background:var(--bg)}
.aim-btn-mini svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aim-btn-mini.ok{color:var(--green);border-color:rgba(5,150,105,.25);background:rgba(5,150,105,.06)}
.aim-btn-mini.ok:hover{background:rgba(5,150,105,.12)}

.aim-im-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.95rem}
.aim-im-card{background:var(--bg-card);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all .15s}
.aim-im-card:hover{transform:translateY(-2px)}
.aim-im-photo{width:100%;height:158px;background:#eef0f4;position:relative}
.aim-im-photo img{width:100%;height:100%;object-fit:cover;display:block}
.aim-im-photo-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-faint)}
.aim-im-status{position:absolute;top:10px;right:10px;padding:3px 9px;border-radius:var(--radius-xs);font-size:.78rem;font-weight:500;backdrop-filter:blur(8px);background:rgba(255,255,255,.85)}
.aim-im-status.alugado{color:var(--green)}.aim-im-status.vago{color:var(--red)}.aim-im-status.reforma{color:var(--blue)}
.aim-im-body{padding:1rem 1.15rem 1.2rem}
.aim-im-addr{font-size:1rem;font-weight:500;line-height:1.35;margin-bottom:3px}
.aim-im-resid{font-size:1rem;font-weight:500;line-height:1.35;margin-bottom:2px;color:var(--text)}
.aim-im-end{font-size:.82rem;color:var(--text-dim);line-height:1.4;margin-bottom:.55rem}
.aim-im-tipo{font-size:.82rem;color:var(--text-dim);margin-bottom:.7rem}
.aim-im-stats{display:flex;justify-content:space-between;gap:.5rem;padding-top:.6rem;border-top:0.5px solid var(--border)}
.aim-im-stat-l{font-size:.76rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}
.aim-im-stat-v{font-size:.92rem;font-weight:500;margin-top:1px}

.aim-back{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;font-family:var(--font);margin-bottom:.75rem;padding:0}
.aim-back:hover{color:var(--accent)}
.aim-back svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aim-hero{background:var(--bg-card);border-radius:var(--radius);padding:0;overflow:hidden;margin-bottom:1.25rem;display:grid;grid-template-columns:280px 1fr;gap:0}
.aim-hero-photo{height:220px;background:#eef0f4;position:relative}
.aim-hero-photo img{width:100%;height:100%;object-fit:cover}
.aim-hero-photo-upload{position:absolute;bottom:8px;right:8px;background:rgba(255,255,255,.9);border:none;border-radius:var(--radius-xs);padding:5px 10px;font-size:.78rem;cursor:pointer;font-family:var(--font)}
.aim-hero-info{padding:1.5rem 1.75rem;display:flex;flex-direction:column;justify-content:space-between}
.aim-hero-addr{font-size:1.4rem;font-weight:500;margin-bottom:6px;line-height:1.25}
.aim-hero-meta{font-size:.92rem;color:var(--text-secondary);margin-bottom:1rem}
.aim-tag{padding:3px 10px;border-radius:var(--radius-xs);font-size:.82rem;font-weight:500;display:inline-block;margin-right:.4rem;margin-bottom:.3rem}
.aim-tag.green{background:rgba(5,150,105,.1);color:var(--green)}
.aim-tag.red{background:rgba(220,38,38,.1);color:var(--red)}
.aim-tag.amber{background:rgba(217,119,6,.1);color:var(--amber)}
.aim-tag.blue{background:rgba(59,130,246,.1);color:var(--blue)}
.aim-tag.purple{background:var(--accent-light);color:var(--accent)}

.aim-fin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}

.aim-imtab{display:flex;gap:0;border-bottom:0.5px solid var(--border);margin-bottom:1.25rem;overflow-x:auto}
.aim-imtab button{padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.92rem;font-weight:400;font-family:var(--font);cursor:pointer;transition:all .15s;white-space:nowrap;margin-bottom:-1px}
.aim-imtab button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
.aim-imtab button:hover{color:var(--text)}
.aim-impanel{display:none}
.aim-impanel.active{display:block}

.aim-doc-tree{display:flex;gap:1rem}
.aim-doc-folders{width:240px;border-right:0.5px solid var(--border);padding-right:1rem}
.aim-doc-files{flex:1}
.aim-doc-folder{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-xs);cursor:pointer;font-size:.92rem;color:var(--text-secondary);margin-bottom:2px}
.aim-doc-folder:hover{background:var(--bg)}
.aim-doc-folder.active{background:var(--accent-light);color:var(--accent);font-weight:500}
.aim-doc-folder svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.aim-doc-folder-name{flex:1;min-width:0;white-space:normal;word-break:break-word;line-height:1.25}
.aim-doc-folder-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}
.aim-doc-folder:hover .aim-doc-folder-actions,.aim-doc-folder.active .aim-doc-folder-actions{opacity:1}
.aim-doc-folder-action{background:transparent;border:0;padding:3px;border-radius:3px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}
.aim-doc-folder-action:hover{background:rgba(0,0,0,0.06);color:var(--text)}
.aim-doc-folder-action.danger:hover{color:#dc2626}
.aim-doc-folder-action svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.aim-doc-folder .ct{font-size:.78rem;color:var(--text-dim)}
.aim-doc-add{padding:8px 10px;font-size:.85rem;color:var(--accent);cursor:pointer;display:inline-flex;align-items:center;gap:5px;background:none;border:none;font-family:var(--font);margin-top:6px}
.aim-doc-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:var(--radius-sm);background:var(--bg);margin-bottom:.4rem}
.aim-doc-icon{width:34px;height:34px;border-radius:var(--radius-xs);background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.aim-doc-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.aim-doc-info{flex:1;min-width:0}
.aim-doc-name{font-size:.92rem;font-weight:500}
.aim-doc-meta{font-size:.78rem;color:var(--text-dim);margin-top:1px}

.aim-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.aim-gal-item{aspect-ratio:1;background:#eef0f4;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;position:relative}
.aim-gal-item img{width:100%;height:100%;object-fit:cover}
.aim-gal-item video{width:100%;height:100%;object-fit:cover}
.aim-gal-add{aspect-ratio:1;border:1.5px dashed var(--border-light);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--text-dim);font-size:.85rem;gap:6px}
.aim-gal-add:hover{border-color:var(--accent);color:var(--accent)}
.aim-gal-add svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.aim-gal-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:.85rem;font-family:var(--font)}
.aim-gal-item:hover .aim-gal-del{display:flex}
.aim-gal-filter-pills{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 1rem}
.aim-gal-pill{font-size:.78rem;padding:5px 12px;border-radius:99px;border:0.5px solid var(--border);color:var(--text-secondary);background:transparent;cursor:pointer;font-family:inherit}
.aim-gal-pill:hover{background:var(--bg)}
.aim-gal-pill.active{background:var(--accent-light);color:var(--accent);border-color:transparent;font-weight:500}
.aim-gal-section{margin-bottom:1.25rem}
.aim-gal-section-head{display:flex;align-items:center;gap:8px;margin-bottom:.6rem;cursor:pointer;user-select:none}
.aim-gal-section-arrow{font-size:.7rem;color:var(--text-secondary);transition:transform .15s;display:inline-block;width:10px}
.aim-gal-section.collapsed .aim-gal-section-arrow{transform:rotate(-90deg)}
.aim-gal-section-title{font-size:.95rem;font-weight:500}
.aim-gal-section-meta{font-size:.78rem;color:var(--text-dim)}
.aim-gal-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.aim-gal-section.collapsed .aim-gal-section-grid{display:none}
.aim-gal-item-cat{position:absolute;top:6px;left:6px;font-size:.65rem;color:#fff;padding:2px 6px;border-radius:99px;font-weight:500;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-gal-item-edit{position:absolute;bottom:6px;right:6px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;cursor:pointer;display:none;align-items:center;justify-content:center}
.aim-gal-item:hover .aim-gal-item-edit{display:flex}
.aim-cfg-cat-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.aim-cfg-cat-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0.5px solid var(--border);border-radius:var(--radius-xs)}
.aim-cfg-cat-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.aim-cfg-cat-name{flex:1;font-size:.92rem}
.aim-cfg-cat-qtd{font-size:.78rem;color:var(--text-dim)}
.aim-cfg-cat-action{background:transparent;border:0;cursor:pointer;font-size:.85rem;font-family:inherit;padding:2px 8px;border-radius:4px}
.aim-cfg-cat-action:hover{background:var(--bg)}
.aim-cfg-cat-action.danger{color:#dc2626}

.aim-fin-cat{font-size:.78rem;padding:2px 8px;border-radius:var(--radius-xs);display:inline-block;background:var(--accent-light);color:var(--accent)}
.aim-recur-badge{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;color:var(--text-dim);margin-left:6px}
.aim-recur-badge svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2}

.aim-evt-row{display:flex;align-items:center;gap:.85rem;padding:.85rem;border-radius:var(--radius-sm);background:var(--bg);margin-bottom:.5rem;border-left:3px solid transparent}
.aim-evt-row.evt{border-left-color:var(--green)}
.aim-evt-row.tsk{border-left-color:var(--red)}
.aim-evt-row.done{opacity:.5;background:transparent}
.aim-evt-row.done .aim-evt-title{text-decoration:line-through}
.aim-evt-time{width:70px;font-size:.82rem;color:var(--text-dim);flex-shrink:0;font-family:monospace}
.aim-evt-body{flex:1;min-width:0}
.aim-evt-title{font-size:.92rem;font-weight:500}
.aim-evt-meta{font-size:.78rem;color:var(--text-dim);margin-top:1px}

.aim-cfg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem}
.aim-cfg-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-xs);background:var(--bg);margin-bottom:4px;font-size:.92rem}
.aim-cfg-item .dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:middle}
.aim-cfg-item .x{cursor:pointer;color:var(--text-dim);font-size:1rem;background:none;border:none;padding:2px 6px}
.aim-cfg-item .x:hover{color:var(--red)}
.aim-cfg-add{display:flex;gap:6px;margin-top:6px}
.aim-cfg-add input,.aim-cfg-add select{flex:1;background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-xs);padding:6px 10px;font-size:.85rem;font-family:var(--font);outline:none}
.aim-cfg-add input:focus,.aim-cfg-add select:focus{border-color:var(--accent)}

.aim-notes{background:#fff9e6;border:0.5px solid #f0e4b8;border-radius:var(--radius);padding:1.25rem;font-size:.92rem;color:var(--text);line-height:1.6;min-height:140px;font-family:var(--font);resize:vertical;width:100%;outline:none;box-sizing:border-box}
.aim-notes:focus{border-color:var(--accent)}

.aim-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.5rem}
.aim-form-grid.g3{grid-template-columns:repeat(3,1fr)}
.aim-form-grid.g1{grid-template-columns:1fr}
.aim-field{display:flex;flex-direction:column;gap:4px}
.aim-field label{font-size:.78rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-weight:500}
.aim-field input,.aim-field select,.aim-field textarea{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:.92rem;color:var(--text);font-family:var(--font);outline:none}
.aim-field input:focus,.aim-field select:focus,.aim-field textarea:focus{border-color:var(--accent)}
.aim-field textarea{resize:vertical;min-height:60px}

.aim-info{background:var(--accent-light);border:0.5px solid var(--accent-border);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.82rem;color:#5b21b6;margin-bottom:1rem;display:flex;gap:8px;align-items:flex-start}
.aim-info svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.75;flex-shrink:0;margin-top:2px}

.aim-empty{text-align:center;padding:2rem 1rem;color:var(--text-dim);font-size:.92rem}
.aim-empty-icon{width:48px;height:48px;background:var(--bg);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:var(--text-faint)}
.aim-empty-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Modais: sem scroll horizontal, conteúdo respeita largura ─ Item 1+4 */
.aim-modal-overlay .modal{overflow-x:hidden!important;overflow-y:auto;box-sizing:border-box}
.aim-modal-overlay #aimModalBody{overflow-x:hidden;min-width:0}
.aim-modal-overlay #aimModalBody input,
.aim-modal-overlay #aimModalBody select,
.aim-modal-overlay #aimModalBody textarea{max-width:100%;width:100%;box-sizing:border-box;min-width:0}
.aim-modal-overlay .aim-form-grid{min-width:0}
.aim-modal-overlay .aim-form-grid > *{min-width:0}
.aim-modal-overlay .aim-field{min-width:0;overflow:hidden}

/* Anexos genéricos por entidade ─ Item 6 */
.aim-anx-block{margin-top:1.25rem;padding-top:1rem;border-top:0.5px solid var(--border)}
.aim-anx-title{font-size:.85rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-weight:500;margin-bottom:.65rem}
.aim-anx-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:.6rem}
.aim-anx-form input[type=text]{flex:1 1 160px;min-width:0;background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-xs);padding:6px 10px;font-size:.85rem;font-family:var(--font);outline:none}
.aim-anx-form input[type=file]{flex:1 1 180px;min-width:0;font-size:.82rem}
.aim-anx-form button{white-space:nowrap}
.aim-anx-list{display:flex;flex-direction:column;gap:4px}
.aim-anx-item{display:flex;align-items:center;gap:.65rem;padding:7px 10px;background:var(--bg);border-radius:var(--radius-xs);font-size:.85rem;min-width:0}
.aim-anx-item svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.75;flex-shrink:0;color:var(--text-dim)}
.aim-anx-item .anx-rot{font-weight:500;color:var(--text);flex-shrink:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-anx-item .anx-fn{color:var(--text-dim);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-anx-item .anx-acts{flex-shrink:0;display:flex;gap:4px}
.aim-anx-empty{font-size:.82rem;color:var(--text-faint);padding:.4rem 0}

/* Spinner para loading state (Item 11) */
@keyframes aim-spin{to{transform:rotate(360deg)}}

/* Drag-and-drop de anexos (Item 14) */
.aim-anx-form.dragover{outline:2px dashed var(--accent);outline-offset:4px;background:var(--accent-light);border-radius:var(--radius-xs)}

/* Tags/labels customizadas (Item 15) */
.aim-tags-block{margin-top:1.25rem;padding-top:1rem;border-top:0.5px solid var(--border)}
.aim-tags-title{font-size:.85rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-weight:500;margin-bottom:.65rem}
.aim-tags-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:.5rem;min-height:24px}
.aim-tag-chip{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;padding:3px 9px;border-radius:999px;background:var(--bg);border:0.5px solid var(--border);color:var(--text);font-weight:500}
.aim-tag-chip .x{cursor:pointer;opacity:.55;font-size:.95rem;line-height:1;background:none;border:none;padding:0 2px;color:inherit}
.aim-tag-chip .x:hover{opacity:1}
.aim-tags-form{display:flex;gap:6px;align-items:center}
.aim-tags-form input[type=text]{flex:1;background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-xs);padding:6px 10px;font-size:.85rem;font-family:var(--font);outline:none}
.aim-tags-form input[type=color]{width:32px;height:30px;padding:0;border:0.5px solid var(--border);border-radius:var(--radius-xs);background:var(--bg);cursor:pointer}

/* Filtros da lista de imóveis (Item 5) */
.aim-filters{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;padding:.6rem .85rem;background:var(--bg-card);border-radius:var(--radius-sm);border:0.5px solid var(--border)}
.aim-filter-pill{padding:5px 12px;border-radius:999px;font-size:.82rem;font-weight:500;background:var(--bg);border:0.5px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:var(--font);outline:none;transition:all .12s}
.aim-filter-pill:hover{color:var(--text);border-color:var(--text-dim)}
.aim-filter-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.aim-filter-search{flex:1;min-width:160px;background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-xs);padding:6px 12px;font-size:.88rem;font-family:var(--font);outline:none}
.aim-filter-search:focus{border-color:var(--accent)}
.aim-filter-counter{font-size:.78rem;color:var(--text-dim);margin-left:auto;font-weight:500}

/* Status vendido (Item 4) */
.aim-im-status.vendido{color:#5f5e5a;background:rgba(255,255,255,.85)}

/* Badge VENCIDO em eventos atrasados (Item 1) */
.aim-evt-row.vencido{background:rgba(244,63,94,.05)}
.aim-evt-row .aim-vencido-badge{display:inline-block;font-size:.7rem;padding:1px 7px;border-radius:3px;background:var(--red);color:#fff;font-weight:500;margin-left:6px;text-transform:uppercase;letter-spacing:.04em}

/* KPI atrasos com destaque vermelho */
.stat-card.alert{border:0.5px solid var(--red);background:rgba(244,63,94,.04)}

/* Histórico de contratos no detalhe do imóvel (Item 10) */
.aim-contr-hist{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.aim-contr-hist-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:8px 12px;background:var(--bg);border-radius:var(--radius-xs);font-size:.88rem}
.aim-contr-hist-item .ch-info{flex:1;min-width:0}
.aim-contr-hist-item .ch-name{font-weight:500;color:var(--text)}
.aim-contr-hist-item .ch-meta{font-size:.78rem;color:var(--text-dim);margin-top:1px}
.aim-contr-hist-item .ch-status{font-size:.72rem;padding:2px 7px;border-radius:3px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.aim-contr-hist-item .ch-status.ativo{background:rgba(99,153,34,.15);color:var(--green)}
.aim-contr-hist-item .ch-status.encerrado{background:var(--bg-card);color:var(--text-dim)}
.aim-contr-hist-item .ch-status.cancelado{background:rgba(244,63,94,.1);color:var(--red)}

/* Timeline de anotações (Item 17) */
.aim-anlog-form{display:flex;gap:6px;margin-bottom:1rem}
.aim-anlog-form textarea{flex:1;min-height:140px;line-height:1.4;background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-xs);padding:8px 12px;font-size:.92rem;font-family:var(--font);outline:none;resize:vertical}
.aim-anlog-form textarea:focus{border-color:var(--accent)}
.aim-anlog-list{display:flex;flex-direction:column;gap:8px}
.aim-anlog-item{padding:10px 14px;background:var(--bg);border-radius:var(--radius-xs);border-left:3px solid var(--accent)}
.aim-anlog-item .al-meta{font-size:.74rem;color:var(--text-dim);margin-bottom:4px;display:flex;justify-content:space-between;align-items:center}
.aim-anlog-item .al-content{font-size:.92rem;line-height:1.5;color:var(--text);white-space:pre-wrap}
.aim-anlog-item .al-del{cursor:pointer;background:none;border:none;color:var(--text-faint);font-size:.85rem;padding:0 4px}
.aim-anlog-item .al-del:hover{color:var(--red)}
.aim-anlog-empty{text-align:center;padding:2rem 1rem;color:var(--text-faint);font-size:.88rem}

/* Reajustes (Item 3) - histórico inline */
.aim-reaj-list{margin-top:.5rem;display:flex;flex-direction:column;gap:4px}
.aim-reaj-item{display:flex;justify-content:space-between;gap:.75rem;padding:6px 10px;background:var(--bg);border-radius:var(--radius-xs);font-size:.84rem}
.aim-reaj-item .rj-data{color:var(--text-dim);font-variant-numeric:tabular-nums}
.aim-reaj-item .rj-vals{flex:1;color:var(--text);font-variant-numeric:tabular-nums}
.aim-reaj-item .rj-pct{font-weight:500;font-variant-numeric:tabular-nums}
.aim-reaj-item .rj-pct.up{color:var(--green)}
.aim-reaj-item .rj-pct.down{color:var(--red)}
