
/* AIMe ID Hub — Frontend Portal Styles v4.2.0 */
.aime-portal {
    --ihts-teal:   #01696f;
    --ihts-teal-d: #0c4e54;
    --ihts-bg:     #f7f6f2;
    --ihts-surf:   #ffffff;
    --ihts-border: #d4d1ca;
    --ihts-text:   #1e1c16;
    --ihts-muted:  #6b6a65;
    --ihts-err:    #a12c2c;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif;
    font-size: 15px;
    color: var(--ihts-text);
    background: var(--ihts-bg);
    border-radius: 10px;
    padding: 28px;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}
.aime-portal *, .aime-portal *::before, .aime-portal *::after { box-sizing: border-box; }
.aime-portal h2 { font-size: 22px; color: var(--ihts-teal); margin: 0 0 4px; font-weight: 700; }
.aime-portal h3 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing:.06em; color: var(--ihts-muted); margin: 0; }
.aime-portal a { color: var(--ihts-teal); }

/* Header */
.aime-profile-header { display:flex; align-items:center; gap:20px; margin-bottom:28px; }
.aime-avatar { width:72px; height:72px; border-radius:50%; object-fit:cover; border:3px solid var(--ihts-border); flex-shrink:0; background:var(--ihts-border); }
.aime-header-name { font-size:20px; font-weight:700; color:var(--ihts-text); margin:0; }
.aime-header-email { font-size:13px; color:var(--ihts-muted); margin:0; }
.aime-badge-tier { display:inline-block; font-size:11px; font-weight:600; padding:2px 9px; border-radius:20px; background:#cedcd8; color:var(--ihts-teal-d); margin-top:4px; }

/* Action bar */
.aime-actions { display:flex; gap:10px; margin-bottom:24px; flex-wrap:wrap; }
.aime-btn { display:inline-flex; align-items:center; gap:6px; padding:9px 18px; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; border:none; text-decoration:none; transition:background .18s; }
.aime-btn-primary { background:var(--ihts-teal); color:#fff; }
.aime-btn-primary:hover { background:var(--ihts-teal-d); color:#fff; }
.aime-btn-secondary { background:var(--ihts-surf); color:var(--ihts-text); border:1px solid var(--ihts-border); }
.aime-btn-secondary:hover { background:#f0eeea; }
.aime-btn-danger { background:#fff; color:var(--ihts-err); border:1px solid var(--ihts-err); }
.aime-btn-danger:hover { background:var(--ihts-err); color:#fff; }

/* Sections */
.aime-section { background:var(--ihts-surf); border:1px solid var(--ihts-border); border-radius:8px; margin-bottom:16px; overflow:hidden; }
.aime-section-head { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; cursor:pointer; user-select:none; }
.aime-section-head:hover { background:#f5f3ef; }
.aime-section-body { padding:18px; border-top:1px solid var(--ihts-border); display:block; }
.aime-section-body.aime-collapsed { display:none; }

/* Field grid */
.aime-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; }
@media(max-width:600px){ .aime-field-grid { grid-template-columns:1fr; } }
.aime-field { display:flex; flex-direction:column; gap:4px; }
.aime-field label { font-size:12px; font-weight:600; color:var(--ihts-muted); text-transform:uppercase; letter-spacing:.05em; }
.aime-field-val { font-size:15px; color:var(--ihts-text); min-height:20px; }
.aime-field-val:empty::after { content:'—'; color:var(--ihts-muted); }

/* Inputs */
.aime-input { width:100%; padding:8px 11px; border:1px solid var(--ihts-border); border-radius:6px; font-size:14px; color:var(--ihts-text); background:#fff; transition:border-color .15s; }
.aime-input:focus { outline:none; border-color:var(--ihts-teal); box-shadow:0 0 0 3px rgba(1,105,111,.12); }
textarea.aime-input { min-height:80px; resize:vertical; }
select.aime-input { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236b6a65' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; padding-right:30px; }
.aime-edit-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:12px; }
.aime-save-msg { font-size:13px; color:var(--ihts-teal); display:none; }
.aime-save-err { font-size:13px; color:var(--ihts-err); display:none; }

/* Manager table */
.aime-user-table { width:100%; border-collapse:collapse; font-size:14px; }
.aime-user-table th { background:var(--ihts-teal); color:#fff; padding:10px 12px; text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.aime-user-table td { padding:10px 12px; border-bottom:1px solid var(--ihts-border); color:var(--ihts-text); vertical-align:top; }
.aime-user-table tr:hover td { background:#f8f7f3; }
.aime-user-table tr:last-child td { border-bottom:none; }
.aime-status-badge { display:inline-block; font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px; }
.aime-status-pending    { background:#fff3cd; color:#856404; }
.aime-status-approved   { background:#d1fae5; color:#065f46; }
.aime-status-rejected   { background:#fde8e8; color:#7f1d1d; }
.aime-status-on_hold    { background:#e0e7ff; color:#3730a3; }
.aime-status-under_review { background:#fef3c7; color:#92400e; }

/* Inline panels */
.aime-panel { background:var(--ihts-bg); border:1px solid var(--ihts-border); border-radius:8px; padding:18px; margin:8px 0; }
.aime-panel-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
@media(max-width:600px){ .aime-panel-grid { grid-template-columns:1fr; } }
.aime-panel-field { display:flex; flex-direction:column; gap:4px; }
.aime-panel-field label { font-size:12px; font-weight:600; color:var(--ihts-muted); text-transform:uppercase; }
.aime-panel-actions { margin-top:14px; display:flex; gap:8px; flex-wrap:wrap; }

/* Search */
.aime-search-bar { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.aime-search-bar input, .aime-search-bar select { padding:8px 11px; border:1px solid var(--ihts-border); border-radius:6px; font-size:14px; background:#fff; color:var(--ihts-text); }
.aime-search-bar input { flex:1; min-width:180px; }

/* Pagination */
.aime-pagination { display:flex; gap:6px; margin-top:16px; flex-wrap:wrap; }
.aime-pagination a, .aime-pagination span { padding:6px 12px; border:1px solid var(--ihts-border); border-radius:5px; font-size:13px; text-decoration:none; color:var(--ihts-text); }
.aime-pagination .current { background:var(--ihts-teal); color:#fff; border-color:var(--ihts-teal); }

/* Notice */
.aime-notice { padding:14px 18px; background:#fff; border-left:4px solid var(--ihts-teal); border-radius:6px; color:var(--ihts-text); }

/* Print */
@media print {
    .aime-actions, .aime-btn, .aime-search-bar, .aime-edit-row { display:none !important; }
    .aime-section-body.aime-collapsed { display:block !important; }
    .aime-portal { background:#fff; padding:10px; box-shadow:none; }
}
