@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700&display=swap');

:root {
    --gerione-bg: #F2F5F4;
    --gerione-surface: #FFFFFF;
    --gerione-border: #D8E8E1;
        /* Brand identity colors (GeriCare-like) */
        --gerione-bg: #F6FBF9; /* very light green */
        --gerione-surface: #FFFFFF;
        --gerione-border: #E6F2EE;
        --gerione-text: #0F2B2A; /* dark teal */
        --gerione-subtext: #57746E;
        --gerione-primary: #2FBF7A; /* brand green */
        --gerione-primary-dark: #1E8F58;
        --gerione-primary-soft: #E9F9F0;
        --gerione-accent: #35C78A;
        --gerione-secondary: #6C7C8A;
        --gerione-muted: #F7FAF9;
    /* Additional layout tokens for GC form */
    --gc-accent: #2E7D32;
    --gc-warning: #FFB300;
}

.gerione-app,
body {
    font-family: 'Inter', 'Poppins', sans-serif;
}
.gerione-app,
body {
    font-family: 'Inter', 'Poppins', sans-serif;
    color: var(--gerione-text);
    background: var(--gerione-bg);
}

/* Typography: headings use Poppins for stronger presence */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', 'Inter', sans-serif;
    margin: 0;
}

/* Icon helper classes */
.gerione-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: middle;
    fill: currentColor;
}

/* Font Awesome icon helper */
.gerione-fa-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    font-size: 16px;
    line-height: 18px;
    vertical-align: middle;
    color: inherit;
}

.gerione-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 6px;
    border-radius: 10px;
    background: transparent;
    color: var(--gerione-primary-dark);
    border: 1px solid rgba(44,165,141,0.06);
}

.gerione-action-icon:hover {
    background: linear-gradient(90deg, rgba(47,191,122,0.08), rgba(53,199,138,0.06));
    color: #fff;
}

.gerione-action-icon:focus {
    outline: 3px solid rgba(47,191,122,0.12);
    outline-offset: 2px;
}

/* spacing for icons inside buttons */
.gerione-button .gerione-fa-icon,
.gc-btn-primary .gerione-fa-icon {
    margin-right: 8px;
}

.gerione-fa-icon { color: inherit; }

.gerione-table .gerione-patient-actions { 
    width: 160px; 
    text-align: center; 
}

.gerione-inline-form {
    display: inline-flex;
    margin: 0;
}

/* focus states for accessibility */
.gerione-button:focus,
.gerione-button:hover {
    box-shadow: 0 8px 18px color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 18%, transparent);
}

/* responsive tweaks */
@media (max-width: 900px) {
    .gc-stats-grid { grid-template-columns: repeat(2,1fr); }
    .gc-main-grid { grid-template-columns: 1fr; }
    .gerione-form-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .gerione-action-icon { width: 36px; height: 36px; }
}

@media (max-width: 640px) {
    .gc-search input { min-width: 120px; }
    .gerione-action-icon { width: 30px; height: 30px; }
    .gerione-fa-icon { font-size: 14px; }
    .gerione-form-row { grid-template-columns: 1fr; }
}

.gerione-panel {
    max-width: 100%;
    margin: 0;
    padding: 12px;
    background: var(--gerione-surface);
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(48, 79, 69, 0.06);
    font-family: 'Poppins', 'Inter', sans-serif;
    color: var(--gerione-text);
}

/* Base typography and smoothing */
body, .gerione-app {
    font-size: 14px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Card header and subtle dividers */
.gc-card h3, .gerione-panel h2 {
    font-size: 15px;
    font-weight: 700;
    color: var(--gerione-text);
    margin-bottom: 8px;
}

.gc-card { padding: 14px; }

/* Softer, layered shadows for depth */
.gc-card, .gerione-panel, .gerione-column {
    box-shadow: 0 6px 16px rgba(15,43,42,0.04), 0 2px 6px rgba(15,43,42,0.02);
}

/* Primary button refinement */
.gerione-button, .gc-btn-primary {
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.gc-btn-primary:hover, .gerione-button:hover { transform: translateY(-2px); }

/* Menu items spacing and hover */
.gerione-menu-item { padding: 12px 14px; font-weight:600; color: var(--gerione-text); }
.gerione-menu-item:hover { background: rgba(47,191,122,0.06); color: var(--gerione-primary-dark); }

/* Table compactness */
.gerione-table th, .gerione-table td { padding: 8px 10px; }
.gerione-table th { font-size: 13px; }
.gerione-table td { font-size: 13px; }

/* Slightly smaller topbar elements */
.gc-top-left .gc-welcome { font-size: 18px; }
.gc-top-right .gc-user { font-weight:600; color:var(--gerione-subtext); }

/* Ensure FA icons inherit color on hover states */
.gerione-action-icon:hover .gerione-fa-icon, .gerione-button:hover .gerione-fa-icon { color: #fff; }

.gerione-panel h1,
.gerione-panel h2 {
    margin-top: 0;
    color: var(--gerione-text);
}

.gerione-form-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 8px;
    align-items: center;
}

.gerione-form-row.full {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
}

.gerione-field {
    display: flex;
    flex-direction: column;
}

.gerione-field label {
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 12px;
}

.gerione-field input,
.gerione-field textarea,
.gerione-field select {
    padding: 6px 8px;
    border: 1px solid var(--gerione-border);
    border-radius: 10px;
    font-size: 13px;
    background: var(--gerione-muted);
    color: var(--gerione-text);
}
.gerione-field textarea { padding: 8px 10px; }

.gerione-form-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 12px;
}

.gerione-subtabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
}

.gerione-button-secondary {
    background: #6C757D;
}

.gerione-subtab {
    flex: 1 0 auto;
    white-space: nowrap;
    border: none;
    border-radius: 16px;
    padding: 12px 18px;
    cursor: pointer;
    font-weight: 700;
    background: var(--gerione-muted);
    color: var(--gerione-text);
    transition: background 0.2s ease, color 0.2s ease;
}

.gerione-subtab.active,
.gerione-subtab:hover {
    background: var(--gerione-primary);
    color: #ffffff;
}

.gerione-subtab-content {
    display: none;
}

.gerione-subtab-active {
    display: block;
}

./* GC three-column form layout, steps and summary */
.gc-patient-form{font-family:Inter,system-ui,Arial;padding:14px}
.gc-form-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.gc-form-header h2{margin:0;font-size:20px;font-weight:700}
.gc-sub{color:var(--gerione-subtext);font-size:13px;margin-top:4px}
.gc-steps{width:480px}
.gc-step-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.gc-step{flex:1;background:#fff;border-radius:8px;padding:8px 6px;text-align:center;color:var(--gerione-subtext);font-size:12px}
.gc-step.active{background:var(--gerione-primary);color:#fff}
.gc-progress{height:8px;background:#EEF7F3;border-radius:8px;overflow:hidden;margin-top:6px}
.gc-progress-bar{height:100%;background:linear-gradient(90deg,var(--gc-primary-gradient-start),var(--gc-primary-gradient-end));transition:width .2s}
.gc-form-grid{display:grid;grid-template-columns:220px 1fr 320px;grid-gap:16px;align-items:start}
.gc-left .gc-photo-card{position:sticky;top:18px}
.gc-photo-card img{width:100%;height:180px;object-fit:cover;border-radius:10px}
.gc-photo-placeholder{display:flex;align-items:center;justify-content:center;height:180px;background:#FBFDFB;border-radius:10px;color:var(--gerione-subtext);flex-direction:column;border:1px dashed #E6F3EE}
.gc-photo-placeholder i{font-size:20px;margin-bottom:8px}
.gc-photo-actions{display:flex;gap:8px;margin-top:10px}
.gc-main .gc-section{background:#fff;padding:14px;border-radius:10px;margin-bottom:10px;box-shadow:0 6px 18px rgba(11,15,20,0.03)}
.gc-main h3{margin:0 0 10px;font-size:14px}
.gc-right .gc-summary-card{position:sticky;top:18px;background:#fff;padding:14px;border-radius:12px;box-shadow:0 6px 18px rgba(11,15,20,0.03);border:1px solid rgba(15,43,42,0.03)}
.gc-summary-photo img{width:84px;height:84px;object-fit:cover;border-radius:8px}
.gc-summary-list{list-style:none;padding:0;margin:10px 0}
.gc-summary-list li{font-size:13px;color:#374151;margin-bottom:8px}
.gc-badge{background:var(--gerione-primary);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px}
.gc-summary-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.gc-summary-actions .gerione-button{width:100%}
.gc-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}
.gc-save-primary{background:linear-gradient(90deg,var(--gc-primary-gradient-start),var(--gc-primary-gradient-end));color:#fff;border:none;box-shadow:0 10px 24px rgba(30,125,50,0.12);padding:10px 18px;border-radius:10px}
.required{color:var(--gerione-danger)}

/* Compact inputs and visual refinements to match the design image */
.gerione-form-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; align-items: center; }
.gerione-field label { font-weight: 600; margin-bottom: 6px; font-size: 13px; color: #21363A; }
.gerione-field input, .gerione-field select, .gerione-field textarea { padding: 10px 12px; height: 40px; border-radius: 10px; border: 1px solid #E6EEF0; background: #FBFBFA; font-size: 13px; color: #21363A; }
.gerione-field textarea { min-height: 120px; padding: 10px 12px; }
.gerione-subtabs { gap: 10px; }
.gerione-subtab { padding: 8px 14px; border-radius: 20px; font-size: 13px; background: transparent; border: 1px solid transparent; }
.gerione-subtab.active { background: #ECFDF3; color: var(--gerione-primary-dark); border-color: rgba(47,191,122,0.12); }

/* Modal width and padding tuned for desktop fidelity */
.gerione-modal-content { width: min(1280px, 98%); max-height: 94vh; padding: 20px; }

/* Button styles matching image */
.gerione-button { padding: 10px 16px; border-radius: 10px; }
.gerione-button.gerione-button-secondary { background: #fff; color: var(--gerione-primary-dark); border: 1px solid #E6EEF0; }
.gc-save-primary { background: linear-gradient(90deg,var(--gc-primary-gradient-start, #2EBF7A),var(--gc-primary-gradient-end, #19A66B)); color: #fff; box-shadow: 0 10px 24px rgba(30,125,50,0.12); }

/* Slightly reduce panel padding for single-screen fit */
.gerione-panel, .gerione-modal-body .gerione-panel { padding: 12px; }

@media (max-width: 1200px) {
    .gc-form-grid { grid-template-columns: 1fr; }
}

@media(max-width:1100px){
    .gc-form-grid{grid-template-columns:1fr}
    .gc-right{order:3}
    .gc-left{order:1}
    .gc-main{order:2}
}


.gerione-field textarea {
    min-height: 140px;
    resize: vertical;
}

.gerione-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.gerione-button {
    border: none;
    border-radius: 12px;
    padding: 8px 14px;
    cursor: pointer;
    font-weight: 700;
    color: #fff;
    background: var(--gerione-primary);
    box-shadow: 0 8px 18px rgba(44, 165, 141, 0.14);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.gerione-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(44, 165, 141, 0.16);
}

.gerione-button.danger {
    background: #DC2626;
    box-shadow: 0 8px 18px rgba(220, 38, 38, 0.14);
}

.gerione-button.danger:hover {
    box-shadow: 0 10px 22px rgba(220, 38, 38, 0.18);
}

.gerione-button.small { padding:6px 10px; font-size:13px; }

@media (prefers-reduced-motion: reduce) {
    .gerione-button, .gerione-action-icon { transition: none !important; transform: none !important; }
}

.gerione-save-notice {
    display: none;
}

.gerione-camera-card {
    border: 1px solid #e9f1ec;
    border-radius: 12px;
    padding: 10px;
    background: var(--gerione-primary-soft);
}

.gerione-patient-module .gerione-page-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.gerione-patient-module .gerione-page-actions {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.gerione-patient-module .gerione-field-search {
    display: flex;
    flex-direction: column;
    min-width: 280px;
}

.gerione-patient-module .gerione-search-input-wrapper {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.gerione-patient-module .gerione-search-input-wrapper select,
.gerione-patient-search-box select {
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--gc-care-border);
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--gc-care-text);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.gerione-patient-module .gerione-field-search input {
    width: 100%;
}

.gerione-patient-module .gerione-search-button {
    min-width: 48px;
    padding: 0 12px;
}

.gerione-patient-module .gerione-button-icon {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.gerione-patient-module .gerione-button-icon-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.2);
}

.gerione-patient-module .gerione-table-list tbody tr {
    cursor: pointer;
    transition: background 0.15s ease;
}

.gerione-patient-module .gerione-table-list tbody tr:hover {
    background: rgba(44, 165, 141, 0.08);
}

.gerione-patient-module .gerione-patient-actions,
.gerione-table-list .gerione-patient-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.gerione-patient-module .gerione-action-icon,
.gerione-action-icon {
    min-width: 42px;
    min-height: 42px;
    padding: 0 10px;
    border-radius: 14px;
}

.gerione-patient-module .gerione-patient-form-panel,
.gerione-patient-module .gerione-patient-list-panel {
    background: var(--gerione-surface);
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 10px 22px rgba(48, 79, 69, 0.04);
    border: 1px solid rgba(44, 165, 141, 0.08);
}

.gerione-patient-module .gerione-form-control-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.gerione-hidden {
    display: none !important;
}

.gerione-camera-card video,
.gerione-camera-card img {
    width: 100%;
    border-radius: 12px;
    display: block;
    margin-bottom: 12px;
}

.gerione-camera-card {
    width: 120px;
    float: left;
    margin-right: 12px;
}

.gerione-camera-card video,
.gerione-camera-card img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    margin-bottom: 8px;
}

.gerione-note {
    margin-top: 12px;
    color: var(--gerione-subtext);
    font-size: 14px;
}

.gerione-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 18px;
}

.gerione-table th,
.gerione-table td {
    border: 1px solid #e9eef1;
    padding: 8px 10px;
    text-align: left;
    vertical-align: middle;
    font-size: 13px;
}

.gerione-table th {
    background: #f2f4f8;
    color: #334155;
    font-weight: 700;
}

.gerione-table tbody tr:hover {
    background: #f7f8fc;
}

.gerione-table .gerione-link-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 10px;
    background: #2f80ed;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
}

@media (max-width: 1200px) {
    .gerione-form-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .gerione-form-row {
        grid-template-columns: 1fr;
    }
    .gerione-app {
        grid-template-columns: 200px minmax(0, 1fr);
    }
    .gerione-panel { padding: 10px; }
}

.gerione-app {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
    margin-top: 24px;
    width: 100%;
    background: var(--gerione-bg);
    padding: 24px;
}

/* Dashboard styles (GC modern layout) */
.gc-dashboard {
    width: 100%;
}
.gc-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}
.gc-top-left .gc-welcome { margin: 0; font-size: 18px; }
.gc-top-left .gc-sub { margin: 4px 0 0; color: var(--gerione-subtext); }
.gc-top-right { display:flex; align-items:center; gap:12px; }
.gc-search input { padding:8px 10px; border-radius:10px; border:1px solid var(--gerione-border); min-width:340px; }
.gc-btn-primary { background: var(--gerione-primary); color:#fff; padding:8px 14px; border-radius:10px; border:none; }

.gc-stats-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; margin-bottom:18px; }
.gc-card { background:var(--gerione-surface); border:1px solid rgba(44,165,141,0.06); border-radius:12px; padding:12px; box-shadow:0 6px 18px rgba(0,0,0,0.03); }
.gc-stat .gc-stat-title { font-size:13px; color:var(--gerione-subtext); }
.gc-stat .gc-stat-value { font-size:22px; font-weight:800; margin-top:6px; }

.gc-main-grid { display:grid; grid-template-columns: 1fr 1fr 360px; gap:12px; }
.gc-column .gc-card h3 { margin-top:0; margin-bottom:8px; font-size:15px; }
.gc-agenda ul, .gc-recent ul, .gc-alerts ul { list-style:none; padding:0; margin:0; }
.gc-agenda li { padding:6px 0; border-bottom:1px dashed #eef3f1; }
.gc-alerts li { padding:6px 0; display:flex; justify-content:space-between; }
.gc-badge { background:#f3f7f6; padding:2px 6px; border-radius:8px; }
.gc-quick-actions .gc-actions-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:8px; }
.gc-qa { padding:8px 10px; border-radius:8px; background:#f5f9f8; border:1px solid rgba(0,0,0,0.03); }
.gc-recent li { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px dashed #eef3f1; }
.gc-link { background:transparent; border:none; color:var(--gerione-primary); cursor:pointer; }

@media (max-width:1200px) {
    .gc-stats-grid { grid-template-columns: repeat(2,1fr); }
    .gc-main-grid { grid-template-columns: 1fr; }
    .gc-search input { min-width:200px; }
}

/* Modal for patient form popup */
.gerione-modal { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1200; }
.gerione-modal.gerione-hidden { display: none; }
.gerione-modal-backdrop { position: absolute; inset: 0; background: rgba(8,10,12,0.5); }
.gerione-modal-content { position: relative; width: min(1200px, 95%); max-height: 92vh; overflow:auto; background: var(--gerione-surface); border-radius: 12px; box-shadow: 0 24px 80px rgba(2,6,23,0.4); padding: 18px; z-index: 1210; }
.gerione-modal-close { position: absolute; top: 12px; right: 12px; background: transparent; border: none; font-size: 22px; line-height: 1; cursor: pointer; color: var(--gerione-subtext); }
.gerione-modal-body { padding-top: 8px; }

@media (max-width: 700px) {
    .gerione-modal-content { padding: 12px; max-height: 98vh; }
}


.gerione-app .gerione-panel {
    max-width: 100%;
    margin: 0;
}

.gerione-sidebar {
    background: var(--gerione-surface);
    border-radius: 28px;
    padding: 28px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.06);
    min-height: 100vh;
    border: 1px solid rgba(44, 165, 141, 0.12);
}
    .gerione-sidebar {
        background: linear-gradient(180deg,#F7FDFB, #F1FBF7);
        border-radius: 18px;
        padding: 20px;
        box-shadow: 0 10px 30px rgba(15, 43, 42, 0.03);
        min-height: 100vh;
        border: 1px solid var(--gerione-border);
    }

.gerione-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
}

.gerione-brand-logo {
    width: 46px;
    height: 46px;
    object-fit: contain;
    border-radius: 14px;
    background: var(--gerione-primary-soft);
}
    .gerione-brand-logo {
        width: 46px;
        height: 46px;
        object-fit: contain;
        border-radius: 10px;
        background: linear-gradient(135deg, var(--gerione-primary), var(--gerione-accent));
        box-shadow: 0 6px 18px rgba(47,191,122,0.12);
    }

.gerione-brand-placeholder {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--gerione-primary);
    color: white;
    font-weight: 700;
}
    .gerione-brand-placeholder {
        width: 46px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        background: linear-gradient(135deg, var(--gerione-primary), var(--gerione-accent));
        color: white;
        font-weight: 800;
    }

.gerione-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gerione-menu-item {
    display: block;
    padding: 14px 18px;
    border-radius: 14px;
    text-decoration: none;
    color: var(--gerione-text);
    background: var(--gerione-muted);
    transition: background 0.2s ease, color 0.2s ease;
}
    .gerione-menu-item {
        display: block;
        padding: 10px 14px;
        border-radius: 12px;
        text-decoration: none;
        color: var(--gerione-text);
        background: transparent;
        transition: background 0.18s ease, color 0.18s ease;
    }

.gerione-menu-item.active,
.gerione-menu-item:hover {
    background: var(--gerione-primary);
    color: #fff;
}
.gerione-menu-item.active,
.gerione-menu-item:hover {
    background: rgba(47,191,122,0.08);
    color: var(--gerione-primary-dark);
}

.gerione-menu-section {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-left: 12px;
}

.gerione-menu-parent {
    background: transparent;
    color: #667085;
    cursor: default;
    font-weight: 700;
}

.gerione-menu-child {
    padding-left: 28px;
    background: #eef2ff;
    color: #334155;
}

.gerione-home-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding: 22px;
    border-radius: 24px;
    background: var(--gerione-primary-soft);
    border: 1px solid rgba(44, 165, 141, 0.16);
}
    .gerione-home-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 18px;
        padding: 12px 16px;
        border-radius: 12px;
        background: transparent;
    }
.gc-btn-primary { background: linear-gradient(90deg,var(--gerione-primary),var(--gerione-accent)); color:#fff; padding:8px 14px; border-radius:10px; border:none; box-shadow: 0 8px 20px rgba(47,191,122,0.12); }

.gerione-home-userbar {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.gerione-home-user {
    font-size: 18px;
    font-weight: 700;
    color: #1f2e4a;
}

.gerione-home-datetime {
    font-size: 14px;
    color: #667085;
}

.gerione-main {
    min-height: 640px;
    padding: 24px;
}

.gerione-tab-content {
    display: none;
}

.gerione-tab-active {
    display: block;
}

.gerione-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.gerione-page-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.gerione-button-icon {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.gerione-button-icon-symbol {
    display: inline-flex;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    justify-content: center;
    align-items: center;
    font-weight: 700;
}

.gerione-search-row {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.gerione-panel-list,
.gerione-panel-form {
    background: var(--gerione-surface);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(46, 106, 91, 0.08);
    border: 1px solid rgba(44, 165, 141, 0.08);
}

/* Compact patient form panel to fit single-screen (scroll inside) */
.gerione-panel-form { padding: 16px; max-height: calc(100vh - 180px); overflow: auto; }

.gerione-hidden {
    display: none !important;
}

.gerione-table-list tbody tr {
    cursor: pointer;
    transition: background 0.2s ease;
}

.gerione-table-list tbody tr:hover {
    background: rgba(44, 165, 141, 0.08);
}

.gerione-form-control-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.gerione-table-list th,
.gerione-table-list td {
    white-space: normal;
}

.gerione-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.gerione-column {
    background: var(--gerione-surface);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(46, 106, 91, 0.08);
    border: 1px solid rgba(44, 165, 141, 0.08);
}

@media (max-width: 980px) {
    .gerione-app {
        grid-template-columns: 1fr;
    }

    .gerione-sidebar,
    .gerione-main {
        min-height: auto;
    }

    .gerione-grid {
        grid-template-columns: 1fr;
    }
}

/* GeriCare-like patient registration modal */
body.gerione-modal-open {
    overflow: hidden;
}

.gerione-login-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 16px;
    background:
        radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--gc-care-green-2, var(--gerione-accent)) 16%, transparent), transparent 32%),
        linear-gradient(135deg, #F8FBFE 0%, var(--gc-care-green-soft, var(--gerione-primary-soft)) 100%);
}

.gerione-login-card {
    width: min(460px, 100%);
    display: grid;
    gap: 18px;
    padding: 28px;
    border: 1px solid var(--gc-care-border);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.14);
}

.gerione-login-kicker {
    color: #008A61;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gerione-login-card h1 {
    margin: 6px 0 4px;
    color: #001B3F;
    font-size: 32px;
    line-height: 1;
}

.gerione-login-card p {
    margin: 0;
    color: #40526D;
    font-size: 14px;
}

.gerione-login-error {
    border: 1px solid #FCA5A5;
    border-radius: 12px;
    background: #FEF2F2;
    color: #991B1B;
    font-size: 13px;
    font-weight: 800;
    padding: 10px 12px;
}

.gerione-login-clinic-choice {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid #BFE7D7;
    border-radius: 18px;
    background: #F4FCF8;
}

.gerione-login-clinic-choice h2 {
    margin: 0;
    color: #001B3F;
    font-size: 18px;
}

.gerione-login-clinic-choice p {
    font-size: 13px;
}

.gerione-login-clinic-list {
    display: grid;
    gap: 10px;
}

.gerione-login-clinic-option {
    margin: 0;
}

.gerione-login-clinic-option button {
    width: 100%;
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid #BFE7D7;
    border-radius: 14px;
    background: #FFFFFF;
    color: #001B3F;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.gerione-login-clinic-option button:hover {
    border-color: #00A876;
    box-shadow: 0 12px 28px rgba(0, 138, 97, 0.14);
    transform: translateY(-1px);
}

.gerione-login-clinic-option strong {
    font-size: 14px;
}

.gerione-login-clinic-option span,
.gerione-login-clinic-option small {
    color: #40526D;
    font-size: 12px;
    font-weight: 800;
}

.gerione-login-form {
    display: grid;
    gap: 14px;
}

.gerione-login-form label {
    display: grid;
    gap: 6px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gerione-login-form input {
    width: 100%;
    min-height: 44px;
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
    color: #001B3F;
    font: inherit;
    padding: 10px 12px;
}

.gc-logout-form {
    margin-top: 14px;
}

.gc-logout-form button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #FFFFFF;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    padding: 12px 14px;
}

.gerione-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1200;
}

.gerione-modal.gerione-hidden {
    display: none;
}

.gerione-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(2px);
}

.gerione-modal-content {
    position: relative;
    z-index: 1210;
    width: min(1680px, calc(100vw - 28px));
    max-height: calc(100vh - 28px);
    overflow: auto;
    padding: 0;
    border-radius: 16px;
    background: #F8FAFC;
    box-shadow: 0 28px 90px rgba(15, 23, 42, 0.32);
}

.gerione-modal-close {
    position: sticky;
    top: 14px;
    float: right;
    z-index: 20;
    width: 34px;
    height: 34px;
    margin: 14px 14px -48px 0;
    border: 1px solid #DCE6EF;
    border-radius: 10px;
    background: #FFFFFF;
    color: #64748B;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.gerione-modal-body {
    min-height: 240px;
    padding: 0;
}

.gc-loading,
.gc-error {
    margin: 54px auto;
    max-width: 420px;
    padding: 24px;
    border-radius: 12px;
    background: #FFFFFF;
    color: #334155;
    text-align: center;
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}

.gc-error {
    color: #B42318;
}

.gc-patient-form {
    padding: 26px 28px;
    color: #17233B;
    font-family: 'Inter', 'Poppins', sans-serif;
}

.gc-patient-form form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.gc-register-header {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(300px, 560px);
    gap: 28px;
    align-items: center;
}

.gc-register-title {
    display: flex;
    align-items: center;
    gap: 18px;
}

.gc-register-icon {
    display: inline-flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    color: #009B68;
    font-size: 28px;
}

.gc-register-title h2 {
    margin: 0 0 4px;
    color: #121A31;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0;
}

.gc-register-title p,
.gc-summary-empty p,
.gc-tip-card p,
.gc-placeholder-section p {
    margin: 0;
    color: #5F6F8A;
    font-size: 14px;
}

.gc-register-progress {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gc-register-progress-meta {
    display: flex;
    justify-content: space-between;
    color: #344054;
    font-size: 12px;
    font-weight: 700;
}

.gc-patient-form .gc-progress {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #E9EEF5;
}

.gc-patient-form .gc-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--gc-care-green, var(--gerione-primary)), var(--gc-care-green-2, var(--gerione-accent)));
}

.gc-register-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 10px;
    border: 1px solid #DCE6EF;
    border-radius: 12px;
    background: #FFFFFF;
}

.gc-step-pill {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 10px;
    justify-content: center;
    padding: 8px 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #52627A;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}

.gc-step-pill span {
    display: inline-flex;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--gc-care-muted) 42%, var(--gc-care-border) 58%);
    border-radius: 999px;
    color: #64748B;
    background: #FFFFFF;
    font-size: 12px;
}

.gc-step-pill.active {
    background: var(--gc-care-green-soft, var(--gerione-primary-soft));
    color: var(--gc-care-green, var(--gerione-primary));
}

.gc-step-pill.active span {
    border-color: var(--gc-care-green-2, var(--gerione-accent));
    color: var(--gc-care-green, var(--gerione-primary));
}

.gc-step-pill.complete span {
    border-color: var(--gc-care-green-2, var(--gerione-accent));
    background: var(--gc-care-green-2, var(--gerione-accent));
    color: #FFFFFF;
}

.gc-register-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}

.gc-register-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.gc-register-card,
.gc-summary-card,
.gc-tip-card {
    border: 1px solid #DCE6EF;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035);
}

.gc-register-card {
    padding: 18px;
}

.gc-register-card h3,
.gc-summary-card h3,
.gc-tip-card h4 {
    margin: 0 0 14px;
    color: #17233B;
    font-size: 16px;
    font-weight: 800;
}

.gc-register-photo-fields {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 18px;
}

.gc-photo-uploader {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gc-photo-frame {
    position: relative;
    height: 178px;
    overflow: hidden;
    border: 1px dashed #CDD8E6;
    border-radius: 12px;
    background: #FAFCFF;
}

.gc-photo-frame img,
.gc-photo-frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-photo-frame video {
    display: none;
    position: absolute;
    inset: 0;
    background: #0F172A;
}

.gc-photo-frame video.is-active {
    display: block;
}

.gc-photo-placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    color: #17233B;
    text-align: center;
}

.gc-photo-placeholder i,
.gc-summary-avatar i {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--gc-care-green-soft, var(--gerione-primary-soft));
    color: var(--gc-care-green, var(--gerione-primary));
    font-size: 20px;
}

.gc-photo-placeholder strong {
    font-size: 13px;
}

.gc-photo-placeholder span {
    color: #667085;
    font-size: 12px;
}

.gc-photo-actions {
    display: flex;
    gap: 8px;
}

.gc-icon-button {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid #DCE6EF;
    border-radius: 10px;
    background: #FFFFFF;
    color: #009B68;
    cursor: pointer;
}

.gc-fields-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px 16px;
}

.gc-fields-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gc-fields-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gc-fields-grid.address {
    grid-template-columns: 2fr 1.2fr 1.2fr .55fr .9fr;
}

.gc-field-wide {
    grid-column: span 2;
}

.gc-field-small {
    min-width: 82px;
}

.gc-patient-form .gerione-field label {
    margin-bottom: 6px;
    color: #1D2A44;
    font-size: 12px;
    font-weight: 800;
}

.gc-patient-form .gerione-field input,
.gc-patient-form .gerione-field select,
.gc-patient-form .gerione-field textarea {
    width: 100%;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #D6E0EC;
    border-radius: 8px;
    background: #FFFFFF;
    color: #1F2937;
    font-size: 13px;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.02);
}

.gc-patient-form .gerione-field input::placeholder,
.gc-patient-form .gerione-field textarea::placeholder {
    color: #7B8BA5;
}

.gc-patient-form .gerione-field textarea {
    min-height: 130px;
    resize: vertical;
}

.gc-register-card-group {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.gc-register-summary {
    position: sticky;
    top: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gc-summary-card {
    padding: 18px;
}

.gc-summary-empty {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 14px;
    align-items: center;
    padding-bottom: 18px;
}

.gc-summary-empty small {
    color: #64748B;
    font-size: 12px;
}

.gc-summary-avatar {
    display: flex;
    width: 84px;
    height: 84px;
    align-items: center;
    justify-content: center;
    border: 1px dashed #DCE6EF;
    border-radius: 999px;
    background: #F8FAFC;
}

.gc-summary-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.gc-summary-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid #E5ECF4;
    border-radius: 10px;
    overflow: hidden;
}

.gc-summary-list li {
    display: grid;
    grid-template-columns: 18px 1fr auto;
    gap: 10px;
    align-items: center;
    min-height: 48px;
    padding: 10px 12px;
    border-bottom: 1px solid #E5ECF4;
    color: #17233B;
    font-size: 12px;
}

.gc-summary-list li:last-child {
    border-bottom: 0;
}

.gc-summary-list i {
    color: var(--gc-care-green, var(--gerione-primary));
}

.gc-summary-list li.complete {
    background: var(--gc-care-green-soft);
}

.gc-summary-list li.complete i,
.gc-summary-list li.complete span {
    color: var(--gc-care-green);
}

.gc-summary-list strong {
    font-size: 12px;
}

.gc-summary-list span {
    color: #6B7A90;
    font-size: 11px;
}

.gc-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 7px;
    font-weight: 800;
}

.gc-chip.danger {
    background: #FFE4E6;
    color: #F04438;
}

.gc-chip.warning {
    background: #FFF2E5;
    color: #E97116;
}

.gc-chip.success {
    background: var(--gc-care-green-soft, var(--gerione-primary-soft));
    color: var(--gc-care-green, var(--gerione-primary));
}

.gc-tip-card {
    padding: 16px;
    background: linear-gradient(180deg, #FFFFFF, var(--gc-care-green-soft, var(--gerione-primary-soft)));
}

.gc-tip-card h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--gc-care-green, var(--gerione-primary));
    font-size: 14px;
}

.gc-tip-card span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    color: var(--gc-care-green, var(--gerione-primary));
    font-size: 12px;
    font-weight: 800;
}

.gc-placeholder-section {
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    text-align: center;
}

.gc-placeholder-section[hidden] {
    display: none;
}

.gc-placeholder-section > i {
    display: inline-flex;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--gc-care-green-soft, var(--gerione-primary-soft));
    color: var(--gc-care-green, var(--gerione-primary));
    font-size: 24px;
}

.gc-placeholder-section textarea {
    width: min(620px, 100%);
}

.gc-register-footer {
    display: grid;
    grid-template-columns: 320px minmax(140px, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid #DCE6EF;
    border-radius: 12px;
    background: #FFFFFF;
}

.gc-footer-progress {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gc-footer-progress strong {
    font-size: 13px;
}

.gc-footer-progress span,
.gc-required-note {
    color: #64748B;
    font-size: 12px;
}

.gc-footer-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(128px, auto));
    gap: 12px;
    align-items: center;
    justify-content: end;
}

.gc-footer-actions .gerione-button {
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 800;
}

.gc-footer-actions .gerione-button.primary {
    border: 0;
    background: linear-gradient(180deg, var(--gc-care-green-2, var(--gerione-accent)), var(--gc-care-green, var(--gerione-primary)));
    color: #FFFFFF;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 22%, transparent);
}

.gerione-button.gerione-button-soft {
    border: 1px solid color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 24%, var(--gc-care-border, var(--gerione-border)) 76%);
    background: var(--gc-care-green-soft, var(--gerione-primary-soft));
    color: var(--gc-care-green, var(--gerione-primary));
}

.gc-footer-actions .gerione-button-secondary {
    border: 1px solid #DCE6EF;
    background: #FFFFFF;
    color: #17233B;
}

.gc-link-action {
    grid-column: 1 / -1;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: var(--gc-care-green, var(--gerione-primary));
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.gc-patient-form [hidden] {
    display: none !important;
}

.gc-patient-form form.is-saving {
    opacity: 0.72;
    pointer-events: none;
}

@media (max-width: 1320px) {
    .gc-register-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gc-fields-grid,
    .gc-fields-grid.four,
    .gc-fields-grid.address,
    .gc-register-card-group {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-field-wide {
        grid-column: span 2;
    }

    .gc-register-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-register-summary {
        position: static;
    }

    .gc-register-footer {
        grid-template-columns: 1fr;
    }

    .gc-footer-actions {
        justify-content: stretch;
    }
}

@media (max-width: 760px) {
    .gerione-modal-content {
        width: 100vw;
        max-height: 100vh;
        border-radius: 0;
    }

    .gc-patient-form {
        padding: 18px 14px;
    }

    .gc-register-header,
    .gc-register-photo-fields,
    .gc-fields-grid,
    .gc-fields-grid.two,
    .gc-fields-grid.four,
    .gc-fields-grid.address,
    .gc-register-card-group,
    .gc-footer-actions {
        grid-template-columns: 1fr;
    }

    .gc-register-steps {
        grid-template-columns: 1fr 1fr;
    }

    .gc-field-wide {
        grid-column: auto;
    }
}

/* GeriCare dashboard identity */
.gc-care-shell {
    --gc-care-bg: #F8FAFC;
    --gc-care-surface: #FFFFFF;
    --gc-care-border: #E1E8F0;
    --gc-care-text: #111827;
    --gc-care-muted: #64748B;
    --gc-care-soft: #F1F5F9;
    --gc-care-green: #009B68;
    --gc-care-green-2: #10B981;
    --gc-care-green-soft: #E9F8F2;
    --gc-care-red: #F04438;
    --gc-care-orange: #F97316;
    --gc-care-blue: #1E88E5;
    --gc-care-purple: #7C3AED;
    display: grid;
    grid-template-columns: 246px minmax(0, 1fr);
    min-height: 100vh;
    gap: 0;
    background: var(--gc-care-bg);
    color: var(--gc-care-text);
    font-family: 'Inter', 'Poppins', system-ui, sans-serif;
}

.gc-care-shell,
.gc-care-shell * {
    box-sizing: border-box;
    letter-spacing: 0;
}

.gc-care-sidebar {
    position: sticky;
    top: 0;
    display: flex;
    height: 100vh;
    flex-direction: column;
    padding: 24px 16px 22px;
    border-right: 1px solid var(--gc-care-border);
    background: color-mix(in srgb, var(--gc-care-surface) 94%, var(--gc-care-bg) 6%);
}

.gc-care-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 72px;
    margin-bottom: 34px;
    padding-left: 0;
    text-align: center;
}

.gc-care-brand-image {
    display: block;
    max-width: 500px;
    max-height: 150px;
    object-fit: contain;
}

.gc-care-logo {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    line-height: 1;
}

.gc-care-logo-mark {
    display: inline-flex;
    align-items: center;
    color: #56D5B3;
    font-size: 34px;
    font-weight: 900;
}

.gc-care-logo-mark::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: -10px;
    margin-right: 4px;
    border-radius: 999px;
    background: #F04438;
}

.gc-care-logo-text {
    color: var(--gc-care-text);
    font-size: 25px;
    font-weight: 800;
}

.gc-care-logo-text span {
    color: var(--gc-care-green);
}

.gc-care-menu {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.gc-care-menu-item {
    display: grid;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    min-height: 52px;
    padding: 0 16px;
    border-radius: 8px;
    border: 0;
    cursor: pointer;
    color: var(--gc-care-text);
    font-size: 15px;
    font-weight: 750;
    text-decoration: none;
    background: transparent;
    font: inherit;
    width: 100%;
    text-align: left;
}

.gc-care-menu-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gc-care-menu-parent {
    position: relative;
}

.gc-care-menu-chevron {
    font-size: 12px;
    transition: transform 0.18s ease;
}

.gc-care-menu-group.open .gc-care-menu-chevron {
    transform: rotate(180deg);
}

.gc-care-submenu {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid var(--gc-care-border);
}

.gc-care-menu-group:not(.open) .gc-care-submenu {
    display: none;
}

.gc-care-menu-item i {
    color: color-mix(in srgb, var(--gc-care-text) 82%, var(--gc-care-muted) 18%);
    font-size: 18px;
}

.gc-care-menu-item.active,
.gc-care-menu-item:hover {
    background: linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2));
    color: #FFFFFF;
}

.gc-care-menu-item.active i,
.gc-care-menu-item:hover i {
    color: #FFFFFF;
}

.gc-care-menu-child {
    min-height: 44px;
    padding-left: 14px;
    background: var(--gc-care-soft);
}

.gc-care-menu-child i {
    font-size: 16px;
}

.gc-care-menu-child.active,
.gc-care-menu-child:hover {
    background: linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2));
    color: #FFFFFF;
}

.gc-menu-badge {
    display: inline-flex;
    min-width: 26px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 800;
}

.gc-menu-badge.red {
    background: var(--gc-care-red);
}

.gc-menu-badge.green {
    background: var(--gc-care-green);
}

.gc-day-tip {
    margin-top: auto;
    padding: 18px;
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    background: linear-gradient(180deg, var(--gc-care-soft), var(--gc-care-surface));
}

.gc-day-tip h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
    color: #17233B;
    font-size: 15px;
    font-weight: 800;
}

.gc-day-tip h3 i,
.gc-day-tip a {
    color: var(--gc-care-green);
}

.gc-day-tip p {
    margin: 0 0 18px;
    color: var(--gc-care-muted);
    font-size: 14px;
    line-height: 1.6;
}

.gc-day-tip a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.gc-care-main {
    min-width: 0;
    background: var(--gc-care-bg);
}

.gc-care-main > [data-gerione-tab-content] {
    display: none;
}

.gc-care-main > [data-gerione-tab-content].gerione-tab-active {
    display: block;
}

.gc-care-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: auto;
    gap: 24px;
    align-items: center;
    justify-content: end;
    min-height: 84px;
    padding: 0 32px;
    border-bottom: 1px solid var(--gc-care-border);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
}

.gc-care-search {
    display: none;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    height: 46px;
    padding: 0 10px 0 16px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
    color: #64748B;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.035);
}

.gc-care-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #344054;
    font-size: 14px;
}

.gc-care-search kbd {
    display: inline-flex;
    min-width: 50px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #F8FAFC;
    color: #17233B;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
}

.gc-care-top-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}

.gc-clinical-action {
    display: inline-flex;
    height: 48px;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(180deg, var(--gc-care-green-2), var(--gc-care-green));
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 850;
    box-shadow: 0 12px 22px color-mix(in srgb, var(--gc-care-green) 26%, transparent);
    cursor: pointer;
}

.gc-clinical-action-menu {
    position: relative;
}

.gc-clinical-action-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 20;
    display: grid;
    min-width: 220px;
    padding: 8px;
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    background: var(--gc-care-surface);
    box-shadow: 0 18px 44px rgba(20, 36, 61, 0.16);
}

.gc-clinical-action-dropdown[hidden] {
    display: none;
}

.gc-clinical-action-dropdown button {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--gc-care-text);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
}

.gc-clinical-action-dropdown button:hover {
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
}

.gc-clinical-action-dropdown i {
    width: 18px;
    color: var(--gc-care-green);
    text-align: center;
}

.gc-clinical-patient-picker {
    display: grid;
    gap: 18px;
    padding: 24px;
    color: var(--gc-care-text);
    font-family: 'Inter', 'Poppins', sans-serif;
}

.gc-clinical-patient-picker-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.gc-clinical-patient-picker-header h2 {
    margin: 0;
    color: var(--gc-care-text);
    font-size: 22px;
    font-weight: 950;
}

.gc-clinical-patient-picker-header p {
    margin: 6px 0 0;
    color: var(--gc-care-muted);
    font-size: 13px;
    font-weight: 700;
}

.gc-clinical-patient-picker-form {
    display: grid;
    gap: 14px;
}

.gc-clinical-patient-picker-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(160px, 1fr) minmax(180px, 1fr);
    gap: 12px;
}

.gc-clinical-patient-picker-grid label {
    display: grid;
    gap: 6px;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
}

.gc-clinical-patient-picker-grid input {
    min-height: 44px;
    border: 1px solid var(--gc-care-border);
    border-radius: 12px;
    background: var(--gc-care-surface);
    color: var(--gc-care-text);
    font: inherit;
    padding: 10px 12px;
}

.gc-clinical-patient-picker-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gc-clinical-patient-picker-results {
    display: grid;
    gap: 12px;
}

.gc-clinical-patient-picker-table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border: 1px solid var(--gc-care-border);
    border-radius: 14px;
    background: var(--gc-care-surface);
}

.gc-clinical-patient-picker-table th,
.gc-clinical-patient-picker-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--gc-care-border);
    vertical-align: middle;
    text-align: left;
    font-size: 13px;
}

.gc-clinical-patient-picker-table th {
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.gc-clinical-patient-picker-table tbody tr:last-child td {
    border-bottom: 0;
}

.gc-clinical-patient-picker-table td strong {
    display: block;
    font-size: 14px;
}

.gc-clinical-patient-picker-table td .gerione-button {
    white-space: nowrap;
}

.gc-clinical-patient-picker-empty {
    padding: 18px;
    border: 1px dashed var(--gc-care-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--gc-care-muted);
    font-size: 13px;
    font-weight: 700;
}

.gc-top-icon {
    position: relative;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #24334D;
    font-size: 19px;
    cursor: pointer;
}

.gc-top-icon span {
    position: absolute;
    top: 2px;
    right: 1px;
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--gc-care-red);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 900;
}

.gc-doctor-profile {
    display: grid;
    grid-template-columns: 42px auto 18px;
    gap: 12px;
    align-items: center;
}

.gc-doctor-profile-menu {
    position: relative;
}

.gc-doctor-profile-menu > .gc-doctor-profile {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    appearance: none;
    -webkit-appearance: none;
    text-align: left;
    cursor: pointer;
}

.gc-doctor-profile-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 220px;
    padding: 10px;
    border: 1px solid #DCE5F0;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
    z-index: 40;
}

.gc-doctor-profile-dropdown[hidden] {
    display: none !important;
}

.gc-doctor-profile-dropdown button,
.gc-doctor-profile-logout button {
    display: inline-flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #17233B;
    font: inherit;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.gc-doctor-profile-dropdown button:hover,
.gc-doctor-profile-logout button:hover {
    background: #F4F8FB;
}

.gc-doctor-profile-logout {
    margin: 0;
}

.gc-doctor-profile-dropdown form + form,
.gc-doctor-profile-dropdown button + form,
.gc-doctor-profile-dropdown form + button {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid #E4ECF5;
}

.gc-doctor-avatar,
.gc-patient-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #FFFFFF;
    background: linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2));
    font-weight: 900;
}

.gc-doctor-avatar {
    width: 42px;
    height: 42px;
    font-size: 13px;
}

.gc-profile-password-modal {
    display: grid;
    gap: 18px;
}

.gc-profile-password-header h2 {
    margin: 0;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
}

.gc-profile-password-header p {
    margin: 6px 0 0;
    color: #52627A;
    font-size: 14px;
    font-weight: 600;
}

.gc-profile-password-form {
    display: grid;
    gap: 14px;
    max-width: 520px;
}

.gc-profile-password-form label {
    display: grid;
    gap: 6px;
    color: #21363A;
    font-size: 13px;
    font-weight: 700;
}

.gc-profile-password-form input {
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-profile-password-form footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.gc-doctor-profile strong {
    display: block;
    color: #111827;
    font-size: 14px;
    font-weight: 850;
}

.gc-doctor-profile span {
    color: #52627A;
    font-size: 13px;
}

.gc-dashboard-v2,
.gc-patients-page,
.gc-empty-module {
    padding: 28px 28px 18px;
}

.gc-dashboard-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    align-items: center;
    margin-bottom: 24px;
}

.gc-dashboard-title {
    display: flex;
    align-items: center;
    gap: 18px;
}

.gc-dashboard-title > i {
    color: #F59E0B;
    font-size: 42px;
}

.gc-dashboard-title h1 {
    margin: 0 0 4px;
    color: #111827;
    font-size: 25px;
    font-weight: 850;
}

.gc-dashboard-title p {
    margin: 0;
    color: #52627A;
    font-size: 14px;
}

.gc-dashboard-tools {
    display: flex;
    gap: 18px;
}

.gc-dashboard-tools button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    gap: 12px;
    padding: 0 20px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 15px;
    font-weight: 750;
    box-shadow: 0 7px 18px rgba(15, 23, 42, 0.035);
}

.gc-stats-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

.gc-stat-card,
.gc-dashboard-card,
.gc-empty-module,
.gc-patients-page .gerione-panel-list {
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 9px 25px rgba(15, 23, 42, 0.035);
}

.gc-stat-card {
    width: 100%;
    text-align: left;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #DCE5F0;
    background: #FFFFFF;
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 14px;
    align-items: center;
    min-height: 138px;
    padding: 22px 18px;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.gc-stat-card:hover,
.gc-stat-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(47, 191, 122, 0.28);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
    outline: none;
}

.gc-stat-icon {
    display: inline-flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 28px;
}

.gc-stat-card.green .gc-stat-icon { background: var(--gc-care-green-soft); color: var(--gc-care-green); }
.gc-stat-card.orange .gc-stat-icon { background: #FFF1E5; color: var(--gc-care-orange); }
.gc-stat-card.blue .gc-stat-icon { background: #E6F2FF; color: var(--gc-care-blue); }
.gc-stat-card.purple .gc-stat-icon { background: #F1E8FF; color: var(--gc-care-purple); }

.gc-stat-card span {
    display: block;
    margin-bottom: 6px;
    color: #52627A;
    font-size: 13px;
    font-weight: 700;
}

.gc-stat-card strong {
    display: block;
    color: #0F172A;
    font-size: 28px;
    font-weight: 850;
    line-height: 1;
}

.gc-stat-card small {
    display: block;
    margin-top: 13px;
    color: #52627A;
    font-size: 12px;
    font-weight: 650;
}

.gc-stat-card.orange small {
    color: var(--gc-care-red);
}

.gc-stat-card em {
    display: block;
    height: 6px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #E5E7EB;
}

.gc-stat-card em b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--gc-care-green);
}

.gc-dashboard-v2[data-gerione-dashboard-details] {
    position: relative;
}

.gc-dashboard-details-modal {
    display: grid;
    gap: 22px;
    padding: 10px 12px 6px;
}

.gc-dashboard-details-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-right: 56px;
}

.gc-dashboard-details-header h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.1;
}

.gc-dashboard-details-header p {
    margin: 6px 0 0;
    color: #52627A;
    font-size: 14px;
    font-weight: 600;
}

.gc-dashboard-details-count {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    width: fit-content;
    padding: 10px 14px;
    border-radius: 14px;
    background: #F7FAFD;
    color: #0F172A;
}

.gc-dashboard-details-count strong {
    font-size: 28px;
    font-weight: 850;
}

.gc-dashboard-details-count span {
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gc-dashboard-details-list {
    display: grid;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gc-dashboard-details-list li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 16px;
    background: #F8FBFD;
    border: 1px solid #E2EAF2;
}

.gc-dashboard-details-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: rgba(47, 191, 122, 0.12);
    color: var(--gc-care-green);
    font-size: 13px;
    font-weight: 850;
}

.gc-dashboard-details-list strong {
    display: block;
    color: #0F172A;
    font-size: 15px;
    font-weight: 800;
}

.gc-dashboard-details-list span {
    display: block;
    margin-top: 4px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-dashboard-details-list p {
    margin: 8px 0 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.45;
}

.gc-dashboard-details-empty {
    padding: 18px;
    border-radius: 16px;
    background: #F8FBFD;
    border: 1px dashed #D7E2EC;
    color: #52627A;
    font-weight: 700;
}

.gerione-modal[data-gerione-view="dashboard-details"] .gerione-modal-body {
    padding-top: 18px;
}

.gc-dashboard-grid.top {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

.gc-agenda-card {
    order: 1;
}

.gc-priority-card {
    order: 2;
}

.gc-attendance-card {
    order: 3;
    grid-column: span 2;
}

.gc-recent-card {
    order: 4;
}

.gc-dashboard-grid.bottom {
    display: grid;
    grid-template-columns: 1.06fr .96fr 1.2fr;
    gap: 20px;
}

.gc-dashboard-card {
    min-width: 0;
    padding: 18px;
}

.gc-dashboard-card header,
.gc-agenda-card footer,
.gc-quick-card footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gc-dashboard-card h2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #111827;
    font-size: 17px;
    font-weight: 850;
}

.gc-dashboard-card h2 span {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--gc-care-red);
    color: #FFFFFF;
    font-size: 12px;
}

.gc-dashboard-card a,
.gc-agenda-card footer a,
.gc-quick-card footer a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gc-care-green);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.gc-card-note {
    margin: 10px 0 0;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-appointment-list,
.gc-priority-list,
.gc-recent-list,
.gc-alert-list,
.gc-timeline-list {
    margin-top: 14px;
}

.gc-appointment {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) 70px 78px;
    gap: 10px;
    align-items: center;
    min-height: 48px;
    border-bottom: 1px solid #E8EEF5;
    color: #17233B;
    font-size: 13px;
}

.gc-appointment:last-child {
    border-bottom: 0;
}

.gc-appointment time {
    position: relative;
    padding-left: 18px;
    color: var(--gc-care-green);
    font-weight: 850;
}

.gc-appointment time::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--gc-care-green);
}

.gc-appointment.orange time::before { background: var(--gc-care-orange); }
.gc-appointment.blue time::before { background: var(--gc-care-blue); }

.gc-appointment time span {
    display: block;
    color: #64748B;
    font-weight: 600;
}

.gc-appointment strong {
    overflow: hidden;
    color: #111827;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-appointment > span {
    color: #52627A;
}

.gc-appointment em {
    justify-self: end;
    padding: 5px 9px;
    border-radius: 7px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
}

.gc-appointment.orange em { background: #FFF2E5; color: var(--gc-care-orange); }
.gc-appointment.blue em { background: #E8F2FF; color: var(--gc-care-blue); }

.gc-appointment-to-attendance {
    grid-column: 2 / -1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: -2px 0 4px;
    justify-self: start;
}

.gc-appointment-to-attendance button {
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #CDE9E7;
    border-radius: 999px;
    background: #EFFBFA;
    color: #0F7285;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.gc-appointment-to-attendance button:hover {
    background: #E3F7F5;
}

.gc-appointment-note {
    color: #52627A;
    font-size: 11px;
    font-weight: 800;
}

.gc-agenda-card footer,
.gc-quick-card footer {
    justify-content: center;
    padding-top: 12px;
}

.gc-priority-item {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) 54px;
    gap: 12px;
    align-items: center;
    min-height: 57px;
    border-bottom: 1px solid #E8EEF5;
}

.gc-priority-item:last-child {
    border-bottom: 0;
}

.gc-priority-item > i {
    color: #52627A;
    font-size: 18px;
}

.gc-priority-item strong,
.gc-recent-patient strong,
.gc-timeline-item strong {
    display: block;
    color: #111827;
    font-size: 13px;
    font-weight: 850;
}

.gc-priority-item span,
.gc-recent-patient span,
.gc-timeline-item span {
    display: block;
    color: #52627A;
    font-size: 12px;
}

.gc-priority-item em {
    justify-self: end;
    font-style: normal;
    font-size: 12px;
    font-weight: 850;
}

.gc-priority-item em.high { color: var(--gc-care-red); }
.gc-priority-item em.medium { color: var(--gc-care-orange); }
.gc-priority-item em.low { color: var(--gc-care-green); }

.gc-attendance-add {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.gc-attendance-add select,
.gc-attendance-add input,
.gc-attendance-status select {
    min-width: 0;
    min-height: 36px;
    border: 1px solid var(--gc-care-border);
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 800;
}

.gc-attendance-patient-search {
    display: grid;
    gap: 8px;
}

.gc-attendance-patient-search .gerione-search-box {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 8px;
}

.gc-attendance-patient-results {
    display: grid;
    max-height: 220px;
    overflow: auto;
    gap: 6px;
}

.gc-attendance-patient-results:empty {
    display: none;
}

.gc-attendance-patient-results button {
    display: grid;
    gap: 3px;
    width: 100%;
    padding: 9px 10px;
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    background: var(--gc-care-surface);
    color: var(--gc-care-text);
    text-align: left;
    cursor: pointer;
}

.gc-attendance-patient-results button[hidden] {
    display: none;
}

.gc-attendance-patient-results button:hover {
    border-color: color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%);
    background: var(--gc-care-green-soft);
}

.gc-attendance-patient-results strong {
    font-size: 12px;
    font-weight: 900;
}

.gc-attendance-patient-results span {
    color: #52627A;
    font-size: 11px;
    font-weight: 750;
}

.gc-attendance-add button,
.gc-attendance-item > button,
.gc-attendance-receive button,
.gc-attendance-status button,
.gc-attendance-order button,
.gc-agenda-to-attendance button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%);
    border-radius: 8px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-attendance-item > button[data-gerione-attendance-action="preconsultation"] {
    color: var(--gerione-primary-dark, #175CD3);
    border-color: color-mix(in srgb, var(--gerione-primary, #009B68) 18%, var(--gc-care-border) 82%);
    background: #EEF4FF;
}

.gc-agenda-to-attendance button:disabled {
    border-color: #DCE5F0;
    background: #F3F6FA;
    color: #52627A;
    cursor: default;
}

.gc-attendance-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.gc-attendance-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto auto auto auto;
    gap: 8px;
    align-items: center;
    padding: 10px;
    border: 1px solid #E4ECF5;
    border-radius: 8px;
    background: #FFFFFF;
}

.gc-attendance-item > strong {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 8px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
}

.gc-attendance-item b,
.gc-attendance-item span {
    display: block;
}

.gc-attendance-patient-link {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    overflow: hidden;
    line-height: 1.2;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.gc-attendance-patient-link:hover,
.gc-attendance-patient-link:focus-visible {
    color: var(--gc-care-green);
    text-decoration: underline;
    outline: none;
}

.gc-attendance-item b {
    overflow: hidden;
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-attendance-item span {
    color: #52627A;
    font-size: 11px;
    font-weight: 700;
}

.gc-attendance-item em {
    padding: 5px 9px;
    border-radius: 999px;
    background: #FFF7E8;
    color: #B45309;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

.gc-attendance-item.atendido em {
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
}

.gc-attendance-item.em-atendimento em {
    background: #E6F2FF;
    color: #175CD3;
}

.gc-attendance-item.em-pré-consulta em,
.gc-attendance-item.em-pre-consulta em {
    background: #EEF4FF;
    color: #3057D5;
}

.gc-attendance-item.ausente em {
    background: #FEE4E2;
    color: #D92D20;
}

.gc-attendance-receive {
    margin: 0;
}

.gc-attendance-receive button {
    border-color: color-mix(in srgb, var(--gerione-primary, #009B68) 30%, var(--gc-care-border) 70%);
    background: var(--gerione-primary-soft, var(--gc-care-green-soft));
    color: var(--gerione-primary-dark, var(--gc-care-green));
}

.gc-attendance-receive button:disabled {
    border-color: var(--gc-care-border, #DCE5F0);
    background: var(--gerione-muted, #F3F6FA);
    color: var(--gerione-subtext, #52627A);
    cursor: default;
    opacity: 0.85;
}

.gc-attendance-status {
    display: grid;
    grid-column: 2 / -1;
    grid-template-columns: minmax(150px, 1fr) auto;
    gap: 8px;
}

.gc-attendance-order {
    display: inline-flex;
    gap: 4px;
}

.gc-attendance-order button {
    width: 32px;
    padding: 0;
    border-color: #DCE5F0;
    background: #FFFFFF;
    color: #52627A;
}

.gc-recent-patient {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 92px;
    gap: 12px;
    align-items: center;
    min-height: 62px;
    border-bottom: 1px solid #E8EEF5;
}

.gc-recent-patient:last-child {
    border-bottom: 0;
}

.gc-patient-avatar {
    width: 42px;
    height: 42px;
    font-size: 12px;
}

.gc-recent-patient div div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 4px;
}

.gc-recent-meta,
.gc-recent-focus {
    display: block;
    color: #52627A;
    font-size: 11px;
    font-weight: 700;
}

.gc-recent-focus {
    color: #3057D5;
}

.gc-recent-patient em {
    padding: 3px 7px;
    border: 1px solid #DCE5F0;
    border-radius: 6px;
    background: #F8FAFC;
    color: #344054;
    font-style: normal;
    font-size: 11px;
    font-weight: 750;
}

.gc-recent-patient button {
    justify-self: end;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 800;
}

.gc-alert-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gc-alert-item {
    display: grid;
    grid-template-columns: 26px 1fr auto;
    gap: 12px;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #E8EEF5;
    border-radius: 8px;
    font-size: 13px;
}

.gc-alert-item strong {
    font-weight: 850;
}

.gc-alert-item span {
    color: #52627A;
    font-size: 12px;
}

.gc-alert-item.orange { background: #FFF8F1; border-color: #FED7AA; color: #C2410C; }
.gc-alert-item.purple { background: #F5F0FF; border-color: #DDD6FE; color: #6D28D9; }
.gc-alert-item.red { background: #FFF1F2; border-color: #FECDD3; color: #DC2626; }
.gc-alert-item.blue { background: #EFF6FF; border-color: #BFDBFE; color: #1D4ED8; }

.gc-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.gc-quick-grid button {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.gc-quick-grid button i {
    color: var(--gc-care-green);
    font-size: 27px;
}

.gc-timeline-item {
    display: grid;
    grid-template-columns: 48px 18px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    min-height: 55px;
    border-bottom: 1px solid #E8EEF5;
}

.gc-timeline-item:last-child {
    border-bottom: 0;
}

.gc-timeline-item time {
    color: #17233B;
    font-size: 12px;
    font-weight: 850;
}

.gc-timeline-item > i {
    width: 9px;
    height: 9px;
    margin-top: 4px;
    border-radius: 999px;
    background: #94A3B8;
}

.gc-timeline-item.green > i { background: var(--gc-care-green); }
.gc-timeline-item.orange > i { background: #F59E0B; }
.gc-timeline-item.blue > i { background: var(--gc-care-blue); }

.gc-timeline-item em {
    padding: 5px 9px;
    border-radius: 7px;
    background: #EAF8F2;
    color: var(--gc-care-green);
    font-style: normal;
    font-size: 11px;
    font-weight: 850;
}

.gc-empty-module {
    display: flex;
    min-height: 360px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    margin: 28px;
    color: #52627A;
    text-align: center;
}

.gc-empty-module i {
    display: inline-flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 26px;
}

.gc-empty-module h2 {
    margin: 0;
    color: #111827;
    font-size: 22px;
}

.gc-empty-module p {
    max-width: 420px;
    margin: 0;
    font-size: 14px;
}

.gc-documents-module {
    max-width: none;
}

.gc-documents-type-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    width: min(920px, 100%);
    margin: 6px 0;
}

.gc-documents-type-grid span {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 850;
    text-align: center;
}

.gc-patients-page .gerione-page-header {
    margin-bottom: 20px;
}

.gc-patients-page .gerione-panel-list {
    padding: 18px;
}

.gc-patients-page .gerione-button {
    background: var(--gc-care-green);
    color: #FFFFFF;
}

.gc-patients-page .gerione-search-box input {
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: var(--gc-care-surface);
}

.gc-register-footer,
.gc-consultation-footer,
.gc-prescription-footer,
.gc-scale-footer,
.gc-settings-grid footer,
.gc-professional-form footer,
.gc-exam-registry-form-actions,
form > footer:has(button[type="submit"]) {
    position: sticky;
    bottom: 0;
    z-index: 30;
    margin-top: 18px;
    border: 1px solid #DCE6EF;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.96);
    box-shadow: 0 -14px 40px rgba(15, 23, 42, 0.10);
    backdrop-filter: blur(10px);
}

.gerione-patient-search-box {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gerione-patient-search-box input {
    min-height: 42px;
    min-width: 220px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
}

@media (max-width: 1360px) {
    .gc-stats-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gc-dashboard-grid.top,
    .gc-dashboard-grid.bottom {
        grid-template-columns: 1fr;
    }

    .gc-attendance-card {
        grid-column: auto;
    }
}

@media (max-width: 1020px) {
    .gc-care-shell {
        grid-template-columns: 1fr;
    }

    .gc-care-sidebar {
        position: static;
        height: auto;
    }

    .gc-care-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-care-topbar,
    .gc-dashboard-header {
        grid-template-columns: 1fr;
    }

    .gc-care-top-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .gc-documents-type-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-dashboard-customize-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .gc-dashboard-v2,
    .gc-patients-page,
    .gc-empty-module {
        padding: 18px 14px;
    }

    .gc-care-topbar {
        padding: 14px;
    }

    .gc-stats-row,
    .gc-quick-grid,
    .gc-care-menu {
        grid-template-columns: 1fr;
    }

    .gc-appointment,
    .gc-recent-patient,
    .gc-alert-item,
    .gc-timeline-item {
        grid-template-columns: 1fr;
    }

    .gc-appointment em,
    .gc-recent-patient button {
        justify-self: start;
    }

    .gc-documents-type-grid {
        grid-template-columns: 1fr;
    }

    .gc-identity-grid {
        grid-template-columns: 1fr;
    }
}

/* Patient workspace and consultation module */
.gc-patient-workspace,
.gc-consultation-form,
.gc-consultation-detail {
    padding: 28px;
    background: #F8FAFC;
    color: #111827;
    font-family: 'Inter', 'Poppins', system-ui, sans-serif;
}

.gc-workspace-hero,
.gc-workspace-contact,
.gc-workspace-alerts article,
.gc-workspace-card,
.gc-workspace-timeline,
.gc-consultation-section,
.gc-consultation-detail > header,
.gc-detail-section,
.gc-detail-grid article {
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 9px 25px rgba(15, 23, 42, 0.035);
}

.gc-workspace-hero {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 22px;
    margin-bottom: 14px;
}

.gc-workspace-avatar {
    display: flex;
    width: 76px;
    height: 76px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2));
    color: #FFFFFF;
    font-size: 30px;
    font-weight: 900;
}

.gc-workspace-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-workspace-title p,
.gc-consultation-header p,
.gc-consultation-detail header p {
    margin: 0 0 4px;
    color: #009B68;
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.gc-workspace-title h2,
.gc-consultation-header h2,
.gc-consultation-detail header h2 {
    margin: 0;
    color: #111827;
    font-size: 26px;
    font-weight: 900;
}

.gc-workspace-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.gc-workspace-meta span,
.gc-detail-tags span {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid #DCE5F0;
    border-radius: 999px;
    background: #F8FAFC;
    color: #344054;
    font-size: 12px;
    font-weight: 750;
}

.gc-workspace-actions {
    display: flex;
    gap: 10px;
}

.gc-workspace-actions .gerione-button,
.gc-consultation-footer .gerione-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gc-workspace-actions .primary,
.gc-consultation-footer .primary {
    background: linear-gradient(180deg, var(--gc-care-green-2), var(--gc-care-green));
    color: #FFFFFF;
}

.gc-workspace-contact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 16px 18px;
    margin-bottom: 14px;
}

.gc-workspace-contact strong,
.gc-workspace-contact span {
    display: block;
}

.gc-workspace-contact strong {
    margin-bottom: 4px;
    color: #52627A;
    font-size: 12px;
}

.gc-workspace-contact span {
    color: #111827;
    font-size: 14px;
    font-weight: 800;
}

.gc-workspace-alerts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.gc-workspace-alerts article {
    min-height: 112px;
    padding: 16px;
}

.gc-workspace-alerts i,
.gc-workspace-quick i {
    color: #009B68;
    font-size: 24px;
}

.gc-workspace-alerts strong,
.gc-workspace-alerts span {
    display: block;
}

.gc-workspace-alerts strong {
    margin-top: 12px;
    font-size: 14px;
}

.gc-workspace-alerts span,
.gc-workspace-card p,
.gc-empty-state p,
.gc-timeline-event p,
.gc-timeline-event small,
.gc-detail-section p {
    color: #52627A;
    font-size: 13px;
}

.gc-workspace-quick {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.gc-workspace-quick button {
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.gc-workspace-quick button.primary {
    border-color: color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%);
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
}

.gc-workspace-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.gc-workspace-card {
    min-height: 126px;
    padding: 18px;
}

.gc-workspace-card h3,
.gc-workspace-timeline h3,
.gc-consultation-section h3,
.gc-detail-section h3 {
    margin: 0 0 10px;
    color: #111827;
    font-size: 16px;
    font-weight: 900;
}

.gc-workspace-timeline {
    padding: 18px;
}

.gc-workspace-timeline > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.gc-workspace-timeline header button,
.gc-consultation-header button,
.gc-consultation-detail header button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--gc-care-green);
    font-weight: 850;
    cursor: pointer;
}

.gc-empty-state {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    border: 1px dashed #C9D6E4;
    border-radius: 10px;
    background: #F8FAFC;
    text-align: center;
}

.gc-empty-state i {
    color: var(--gc-care-green);
    font-size: 28px;
}

.gc-timeline-events {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gc-timeline-event {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 14px;
    border: 1px solid #E6EDF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-timeline-event time {
    color: var(--gc-care-green);
    font-size: 13px;
    font-weight: 900;
}

.gc-timeline-event span {
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
}

.gc-timeline-event h4 {
    margin: 2px 0 6px;
    font-size: 15px;
}

.gc-timeline-event button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 850;
}

.gc-consultation-form form {
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    gap: 12px;
    min-height: calc(100vh - 84px);
    max-height: calc(100vh - 84px);
}

.gc-consultation-form form:has(.gc-last-consultation-popup) {
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.gc-last-consultation-popup {
    position: fixed;
    top: 96px;
    right: 22px;
    bottom: 22px;
    z-index: 100020;
    width: min(440px, calc(100vw - 44px));
    pointer-events: none;
}

.gc-last-consultation-popup[hidden] {
    display: none;
}

.gc-last-consultation-panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 20px;
    background: var(--gerione-surface, #FFFFFF);
    box-shadow: 0 26px 80px rgba(8, 18, 32, .24);
    pointer-events: auto;
}

.gc-last-consultation-panel header,
.gc-last-consultation-panel footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 22px;
    background: color-mix(in srgb, var(--gerione-primary-soft, #E9F9F0) 42%, var(--gerione-surface, #FFFFFF) 58%);
}

.gc-last-consultation-panel header {
    border-bottom: 1px solid var(--gerione-border, #DCE5F0);
}

.gc-last-consultation-panel footer {
    justify-content: flex-end;
    border-top: 1px solid var(--gerione-border, #DCE5F0);
}

.gc-last-consultation-panel header span {
    display: block;
    margin-bottom: 4px;
    color: var(--gerione-primary-dark, #1E5D88);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-last-consultation-panel h2 {
    margin: 0;
    color: var(--gerione-text, #061833);
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 950;
    line-height: 1.12;
}

.gc-last-consultation-panel header p {
    margin: 7px 0 0;
    color: var(--gerione-subtext, #52627A);
    font-size: 13px;
    font-weight: 800;
}

.gc-last-consultation-panel header button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 14px;
    background: var(--gerione-card, #FFFFFF);
    color: var(--gerione-text, #17233B);
    cursor: pointer;
}

.gc-last-consultation-panel header button:hover,
.gc-last-consultation-panel header button:focus {
    border-color: color-mix(in srgb, var(--gerione-primary, #1E5D88) 38%, var(--gerione-border, #DCE5F0) 62%);
    color: var(--gerione-primary-dark, #1E5D88);
}

.gc-last-consultation-content {
    display: grid;
    gap: 12px;
    max-height: 100%;
    overflow: auto;
    padding: 18px 22px;
    background: color-mix(in srgb, var(--gerione-surface, #FFFFFF) 76%, var(--gerione-muted, #F8FAFC) 24%);
}

.gc-last-consultation-content article {
    padding: 15px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 16px;
    background: var(--gerione-card, #FFFFFF);
}

.gc-last-consultation-content h3 {
    margin: 0 0 10px;
    color: var(--gerione-primary-dark, #1E5D88);
    font-size: 14px;
    font-weight: 950;
}

.gc-last-consultation-content dl {
    display: grid;
    gap: 9px;
    margin: 0;
}

.gc-last-consultation-content dl div {
    display: grid;
    grid-template-columns: minmax(130px, .28fr) minmax(0, 1fr);
    gap: 10px;
}

.gc-last-consultation-content dt {
    color: var(--gerione-subtext, #52627A);
    font-size: 12px;
    font-weight: 900;
}

.gc-last-consultation-content dd {
    margin: 0;
    color: var(--gerione-text, #17233B);
    font-size: 13px;
    font-weight: 760;
    line-height: 1.45;
    white-space: normal;
}

@media (max-width: 700px) {
    .gc-last-consultation-popup {
        top: auto;
        right: 12px;
        bottom: 12px;
        left: 12px;
        width: auto;
        max-height: 76vh;
    }

    .gc-last-consultation-panel {
        width: 100%;
        height: 76vh;
        max-height: 76vh;
        border-radius: 18px;
    }

    .gc-last-consultation-panel header,
    .gc-last-consultation-panel footer,
    .gc-last-consultation-content {
        padding: 16px;
    }

    .gc-last-consultation-content dl div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

.gc-consultation-form form:has(.gc-preconsultation-summary) {
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
}

.gc-consultation-header,
.gc-consultation-detail > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.gc-consultation-patient-header {
    grid-row: 1;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 8px 0 2px;
}

.gc-consultation-patient-avatar {
    display: flex;
    width: 104px;
    height: 104px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 6px solid #EAF2F8;
    border-radius: 999px;
    background: linear-gradient(135deg, #0EA5E9, #10B981);
    color: #FFFFFF;
    font-size: 40px;
    font-weight: 900;
}

.gc-consultation-patient-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-consultation-patient-name {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.gc-consultation-patient-name h2 {
    margin: 0;
    color: #111827;
    font-size: 28px;
    font-weight: 900;
}

.gc-consultation-patient-name span {
    padding: 6px 10px;
    border-radius: 8px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
}

.gc-consultation-patient-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    margin-top: 14px;
}

.gc-consultation-patient-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #344054;
    font-size: 13px;
    font-weight: 800;
}

.gc-consultation-patient-meta i {
    color: #64748B;
}

.gc-consultation-patient-meta .fa-whatsapp {
    color: #009B68;
}

.gc-consultation-header-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    align-self: start;
}

.gc-consultation-full-data {
    align-self: start;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-last-consultation-trigger {
    border-color: color-mix(in srgb, var(--gerione-primary, #1E5D88) 28%, var(--gerione-border, #DCE5F0) 72%);
    background: var(--gerione-primary-soft, #E9F9F0);
    color: var(--gerione-primary-dark, #1E5D88);
}

.gc-detail-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.gc-readonly-badge {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--gc-care-border);
    border-radius: 8px;
    background: var(--gc-care-soft);
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 850;
}

.gc-consultation-header span,
.gc-consultation-detail header span {
    color: #52627A;
    font-size: 13px;
    font-weight: 700;
}

.gc-consultation-section {
    padding: 18px;
}

.gc-consultation-companion {
    grid-row: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gc-consultation-alert-strip,
.gc-consultation-action-strip {
    display: grid;
    gap: 10px;
}

.gc-consultation-alert-strip {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gc-consultation-action-strip {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.gc-consultation-alert-strip article,
.gc-consultation-action-strip button {
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    box-shadow: 0 7px 18px rgba(15, 23, 42, 0.025);
}

.gc-consultation-alert-strip article {
    min-height: 78px;
    padding: 14px 16px;
    border-color: color-mix(in srgb, var(--gc-care-green-2) 58%, #FFFFFF 42%);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.24), transparent 38%),
        linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2));
    box-shadow: 0 14px 28px color-mix(in srgb, var(--gc-care-green) 26%, transparent);
    color: #FFFFFF;
}

.gc-consultation-alert-strip article.is-clickable,
.gc-profile-alert-row article.is-clickable {
    cursor: pointer;
}

.gc-consultation-alert-strip article.is-clickable:focus-visible,
.gc-profile-alert-row article.is-clickable:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
}

.gc-consultation-alert-strip i {
    display: block;
    margin-bottom: 10px;
    color: #FFFFFF;
    font-size: 22px;
}

.gc-consultation-alert-strip strong,
.gc-consultation-alert-strip span {
    display: block;
}

.gc-consultation-alert-strip strong {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 900;
}

.gc-consultation-alert-strip span {
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 12px;
}

.gc-alert-status {
    align-items: center;
    gap: 6px;
}

.gc-consultation-alert-strip .gc-alert-status,
.gc-profile-alert-row .gc-alert-status {
    display: inline-flex;
}

.gc-alert-status.is-active::before {
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    background: var(--gerione-danger, #EF4444);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18);
}

.gc-consultation-alert-strip small {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 10px;
    line-height: 1.35;
}

.gc-consultation-action-strip button {
    background: var(--gc-care-surface);
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 9px 10px;
    color: var(--gc-care-text);
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.gc-consultation-action-strip button span,
.gc-consultation-action-strip button strong,
.gc-consultation-action-strip button small {
    display: block;
    max-width: 100%;
    text-align: center;
}

.gc-consultation-action-strip button span {
    line-height: 1.15;
}

.gc-consultation-action-strip button strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-consultation-action-strip button small {
    margin-top: 2px;
    color: var(--gc-care-muted);
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

.gc-consultation-action-strip button:hover {
    border-color: color-mix(in srgb, var(--gc-care-green) 42%, var(--gc-care-border) 58%);
    background: var(--gc-care-green-soft);
}

.gc-consultation-action-strip i {
    color: var(--gc-care-green);
    font-size: 21px;
}

.gc-consultation-tabs {
    grid-row: 3;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--gc-care-border);
    border-radius: 12px;
    background: var(--gc-care-surface);
}

.gc-consultation-form form:has(.gc-preconsultation-summary) .gc-consultation-tabs {
    grid-row: 4;
}

.gc-consultation-tabs button {
    display: inline-flex;
    height: 42px;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    cursor: pointer;
    overflow: hidden;
}

.gc-consultation-tabs button span {
    flex: 0 0 22px;
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--gc-care-muted) 42%, var(--gc-care-border) 58%);
    border-radius: 999px;
    color: var(--gc-care-muted);
    background: var(--gc-care-surface);
}

.gc-consultation-tabs button strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-consultation-tabs button.active {
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
}

.gc-consultation-tabs button.active span {
    border-color: var(--gc-care-green-2);
    color: var(--gc-care-green);
}

.gc-consultation-tabs button.complete span {
    border-color: var(--gc-care-green-2);
    background: var(--gc-care-green-2);
    color: #FFFFFF;
}

.gc-consultation-tab-body {
    grid-row: 4;
    min-height: 0;
    overflow: auto;
    padding: 4px 2px 0 0;
}

.gc-consultation-form form:has(.gc-preconsultation-summary) .gc-consultation-tab-body {
    grid-row: 5;
}

.gc-consultation-tab-body .gc-consultation-section {
    min-height: 100%;
}

.gc-consultation-tab-body .gc-consultation-section[hidden] {
    display: none !important;
}

.gc-readonly-field {
    display: grid;
    gap: 6px;
    min-height: 54px;
    padding: 10px 12px;
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    background: #F8FBFD;
    color: var(--gc-care-text);
}

.gc-readonly-field.wide {
    grid-column: span 2;
}

.gc-readonly-field strong {
    color: var(--gc-care-muted);
    font-size: 10px;
    font-weight: 900;
}

.gc-readonly-field span {
    color: var(--gc-care-text);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.45;
    white-space: normal;
}

.gc-readonly-inline {
    display: flex;
    min-height: 38px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid var(--gc-care-border);
    border-radius: 8px;
    background: #F8FBFD;
    color: var(--gc-care-text);
    font-size: 13px;
    font-weight: 850;
}

.gc-inline-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: var(--gc-care-muted);
    font-size: 11px;
    font-weight: 850;
}

.gc-inline-check input {
    accent-color: var(--gc-care-green);
}

.gc-preconsultation-vitals-strip {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.gc-preconsultation-vitals-strip span {
    display: grid;
    gap: 4px;
    min-height: 54px;
    padding: 10px;
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    background: #F8FBFD;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 850;
}

.gc-preconsultation-vitals-strip strong {
    color: var(--gc-care-muted);
    font-size: 10px;
    font-weight: 900;
}

.gc-consultation-grid {
    display: grid;
    gap: 14px;
}

.gc-consultation-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gc-consultation-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gc-consultation-grid.four,
.gc-consultation-grid.vitals { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.gc-consultation-grid label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #17233B;
    font-size: 12px;
    font-weight: 850;
}

.gc-consultation-grid .wide {
    grid-column: span 2;
}

.gc-consultation-grid input,
.gc-consultation-grid select,
.gc-consultation-grid textarea {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
}

.gc-consultation-grid textarea {
    min-height: 112px;
    resize: vertical;
}

.gc-consultation-conduta-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.gc-consultation-conduta-main {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(340px, 2fr);
    gap: 18px;
    align-items: start;
}

.gc-consultation-conduta-column {
    display: grid;
    gap: 12px;
}

.gc-consultation-primary-field {
    display: grid;
    gap: 6px;
}

.gc-consultation-primary-field > span,
.gc-consultation-auto-field-body label > span {
    color: var(--gerione-text, var(--gc-care-text));
    font-size: 12px;
    font-weight: 850;
}

.gc-consultation-primary-field textarea {
    min-height: 180px;
    width: 100%;
}

.gc-consultation-auto-field {
    border: 1px solid var(--gerione-border, var(--gc-care-border));
    border-radius: 12px;
    background: var(--gerione-surface, #FFFFFF);
    overflow: hidden;
}

.gc-consultation-auto-field summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    list-style: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
    color: #17233B;
}

.gc-consultation-auto-field summary::-webkit-details-marker {
    display: none;
}

.gc-consultation-auto-field summary span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gc-consultation-auto-field summary em {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--gerione-primary-soft, var(--gc-care-green-soft)) 42%, #FFFFFF 58%);
    color: var(--gerione-primary-dark, var(--gc-care-green));
    font-size: 11px;
    font-style: normal;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gc-consultation-auto-field[open] summary {
    border-bottom: 1px solid var(--gerione-border, var(--gc-care-border));
    background: color-mix(in srgb, var(--gerione-primary-soft, var(--gc-care-green-soft)) 34%, #FFFFFF 66%);
}

.gc-consultation-auto-field-body {
    padding: 14px 16px 16px;
}

.gc-consultation-auto-field-body label {
    display: grid;
    gap: 6px;
    font-size: 12px;
}

.gc-consultation-auto-field-body textarea {
    min-height: 98px;
    width: 100%;
}

.gc-consultation-care-plan {
    position: sticky;
    top: 12px;
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 16px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--gerione-accent, var(--gc-care-green-2)) 10%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--gerione-primary-soft, var(--gc-care-green-soft)) 72%, #FFFFFF 28%) 0%, var(--gerione-surface, var(--gc-care-surface)) 100%);
}

.gc-consultation-care-plan .gc-care-plan-row {
    grid-template-columns: 1fr;
}

.gc-consultation-care-plan .gc-care-plan-status-buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gc-consultation-care-plan .gc-care-plan-status-button {
    justify-content: center;
    min-height: 34px;
    text-align: center;
}

.gc-consultation-care-plan-header {
    display: grid;
    gap: 12px;
}

.gc-consultation-care-plan h4 {
    margin: 0;
    color: var(--gerione-primary-dark, var(--gc-care-green));
    font-size: 18px;
    font-weight: 900;
}

.gc-consultation-care-plan-history h4 {
    margin: 0;
    color: var(--gerione-primary-dark, var(--gc-care-green));
    font-size: 18px;
    font-weight: 900;
}

.gc-consultation-care-plan p {
    margin: 0;
    color: var(--gerione-subtext, var(--gc-care-text));
    font-size: 13px;
    line-height: 1.5;
}

.gc-consultation-care-plan-history p {
    margin: 0;
    color: var(--gerione-subtext, var(--gc-care-text));
    font-size: 13px;
    line-height: 1.5;
}

.gc-consultation-care-plan-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.gc-consultation-care-plan-summary span {
    display: grid;
    gap: 2px;
    padding: 10px 12px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 12px;
    background: color-mix(in srgb, var(--gerione-surface, var(--gc-care-surface)) 92%, var(--gerione-primary-soft, var(--gc-care-green-soft)) 8%);
    color: var(--gerione-subtext, var(--gc-care-text));
    font-size: 12px;
    font-weight: 700;
}

.gc-consultation-care-plan-summary strong {
    color: var(--gerione-primary-dark, var(--gc-care-green));
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.gc-consultation-care-plan-list {
    display: grid;
    gap: 14px;
}

.gc-consultation-care-plan-group {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--gc-care-border, var(--gerione-border)) 82%, var(--gerione-primary-soft, var(--gc-care-green-soft)) 18%);
    border-radius: 16px;
    background: color-mix(in srgb, var(--gerione-surface, var(--gc-care-surface)) 94%, var(--gerione-primary-soft, var(--gc-care-green-soft)) 6%);
}

.gc-consultation-care-plan-group-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.gc-consultation-care-plan-group-header h5 {
    margin: 0;
    color: var(--gerione-primary-dark, var(--gc-care-green));
    font-size: 15px;
    font-weight: 900;
}

.gc-consultation-care-plan-group-header p {
    margin: 2px 0 0;
    color: var(--gerione-subtext, var(--gc-care-text));
    font-size: 12px;
    line-height: 1.4;
}

.gc-consultation-care-plan-group-header span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--gerione-primary-soft, var(--gc-care-green-soft)) 58%, #FFFFFF 42%);
    color: var(--gerione-primary-dark, var(--gc-care-green));
    font-size: 12px;
    font-weight: 900;
}

.gc-consultation-care-plan-history {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 16px;
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--gerione-primary-soft, var(--gc-care-green-soft)) 42%, transparent), transparent 36%),
        var(--gerione-surface, var(--gc-care-surface));
}

.gc-care-plan-history-board {
    gap: 10px;
}

@media (max-width: 980px) {
    .gc-consultation-conduta-main {
        grid-template-columns: 1fr;
    }

    .gc-consultation-care-plan {
        position: static;
    }
}

.gc-care-plan-table {
    gap: 8px;
}

.gc-care-plan-item {
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 14px;
    background: var(--gerione-surface, var(--gc-care-surface));
    overflow: hidden;
}

.gc-care-plan-row {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 170px minmax(160px, 0.9fr);
    gap: 12px;
    align-items: start;
    padding: 12px;
}

.gc-care-plan-problem {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.gc-care-plan-problem strong {
    color: var(--gerione-text, var(--gc-care-text));
    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
}

.gc-care-plan-problem small {
    color: var(--gerione-subtext, var(--gc-care-text));
    font-size: 11px;
    font-weight: 750;
}

.gc-care-plan-problem input {
    width: 100%;
    font: inherit;
}

.gc-care-plan-status,
.gc-care-plan-notes {
    display: grid;
    gap: 5px;
}

.gc-care-plan-status span,
.gc-care-plan-notes span {
    color: var(--gerione-subtext, var(--gc-care-text));
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.gc-care-plan-notes textarea {
    width: 100%;
    font: inherit;
}

.gc-care-plan-status-buttons {
    display: grid;
    gap: 6px;
}

.gc-care-plan-status-button {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 5px 8px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 8px;
    background: var(--gerione-surface, var(--gc-care-surface));
    color: var(--gerione-subtext, var(--gc-care-text));
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    text-align: left;
}

.gc-care-plan-status-button i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--gc-care-border, var(--gerione-border));
    box-shadow: inset 0 0 0 1px rgba(23, 35, 59, 0.08);
}

.gc-care-plan-status-button.status-ativo.is-active i {
    background: #E24A4A;
    box-shadow: 0 0 0 3px rgba(226, 74, 74, 0.16);
}

.gc-care-plan-status-button.status-em-resolucao.is-active i {
    background: #F2B84B;
    box-shadow: 0 0 0 3px rgba(242, 184, 75, 0.18);
}

.gc-care-plan-status-button.status-resolvido.is-active i {
    background: #2FBF7A;
    box-shadow: 0 0 0 3px rgba(47, 191, 122, 0.16);
}

.gc-care-plan-status-button.is-active {
    border-color: color-mix(in srgb, var(--gerione-primary, var(--gc-care-green)) 24%, var(--gc-care-border, var(--gerione-border)) 76%);
    color: var(--gerione-text, var(--gc-care-text));
    background: color-mix(in srgb, var(--gerione-primary-soft, var(--gc-care-green-soft)) 60%, #FFFFFF 40%);
}

.gc-care-plan-notes textarea {
    min-height: 48px;
    resize: vertical;
}

.gc-care-plan-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    list-style: none;
    cursor: pointer;
}

.gc-care-plan-item summary::-webkit-details-marker {
    display: none;
}

.gc-care-plan-item-title {
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
}

.gc-care-plan-item-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.gc-care-plan-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: #F3F7FB;
    color: #52627A;
    font-size: 11px;
    font-style: normal;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.gc-care-plan-badge.status-ativo,
.gc-care-plan-badge.status-sugerido {
    background: rgba(47, 191, 122, 0.12);
    color: #13824A;
}

.gc-care-plan-badge.status-em-resolucao {
    background: rgba(37, 117, 252, 0.12);
    color: #2058C9;
}

.gc-care-plan-badge.status-resolvido {
    background: rgba(118, 134, 159, 0.12);
    color: #52627A;
}

.gc-care-plan-badge.status-ignorado {
    background: rgba(255, 112, 67, 0.12);
    color: #E45C24;
}

.gc-care-plan-badge.priority-alta {
    background: rgba(245, 101, 101, 0.12);
    color: #C0392B;
}

.gc-care-plan-badge.priority-moderada {
    background: rgba(255, 179, 71, 0.16);
    color: #9A5B00;
}

.gc-care-plan-badge.priority-baixa {
    background: rgba(47, 191, 122, 0.12);
    color: #13824A;
}

.gc-care-plan-item-body {
    padding: 14px 16px 16px;
    border-top: 1px solid #E6EDF5;
}

.gc-care-plan-item-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gc-care-plan-field {
    display: grid;
    gap: 6px;
}

.gc-care-plan-field.wide {
    grid-column: 1 / -1;
}

.gc-care-plan-field span {
    color: #17233B;
    font-size: 12px;
    font-weight: 850;
}

.gc-care-plan-field input,
.gc-care-plan-field select,
.gc-care-plan-field textarea {
    width: 100%;
    font: inherit;
}

.gc-care-plan-field textarea {
    min-height: 92px;
    resize: vertical;
}

.gc-profile-care-plan-list li strong {
    display: block;
}

.gc-profile-care-plan-list li span {
    display: block;
    margin-top: 3px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-evolution-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 12px;
    margin-top: 12px;
    position: relative;
}

.gc-evolution-history,
.gc-evolution-actions,
.gc-evolution-summary {
    padding: 14px;
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
}

.gc-evolution-history {
    display: grid;
    gap: 8px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-evolution-history textarea {
    width: 100%;
    min-height: 260px;
    padding: 9px 11px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    resize: vertical;
}

.gc-evolution-actions {
    align-content: start;
    display: grid;
    gap: 10px;
}

.gc-evolution-actions h4,
.gc-evolution-summary h4,
.gc-evolution-medications h4 {
    margin: 0 0 10px;
    color: #07142F;
    font-size: 15px;
    font-weight: 900;
}

.gc-evolution-actions .gerione-button {
    justify-content: center;
    width: 100%;
}

.gc-evolution-summary {
    grid-column: 1 / -1;
}

.gc-evolution-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.gc-evolution-summary-grid article {
    display: grid;
    gap: 6px;
    min-height: 86px;
    padding: 12px;
    border: 1px solid #E4ECF5;
    border-radius: 12px;
    background: #F8FBFF;
}

.gc-evolution-summary-grid article.has-data {
    border-color: color-mix(in srgb, var(--gerione-primary) 35%, #DCE5F0);
    background: color-mix(in srgb, var(--gerione-primary) 8%, #FFFFFF);
}

.gc-evolution-summary-grid strong {
    color: #07142F;
    font-size: 13px;
    font-weight: 900;
}

.gc-evolution-summary-grid span {
    color: #50627A;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    white-space: pre-wrap;
}

.gc-evolution-summary-grid em {
    justify-self: start;
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    padding: 5px 8px;
}

.gc-evolution-summary-grid em.is-worse {
    background: #FEE2E2;
    color: #B42318;
}

.gc-evolution-summary-grid em.is-better {
    background: #DCFCE7;
    color: #047857;
}

.gc-evolution-summary-grid em.is-stable {
    background: #E8F1FA;
    color: #334462;
}

.gc-evolution-history-list {
    display: grid;
    gap: 6px;
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid #E2EAF3;
}

.gc-evolution-history-list:empty {
    display: none;
}

.gc-evolution-history-list small {
    color: #6A7B92;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.gc-evolution-history-list p {
    display: grid;
    gap: 2px;
    margin: 0;
}

.gc-evolution-history-list p strong {
    color: #334462;
    font-size: 11px;
}

.gc-evolution-history-list p span {
    color: #53647B;
    font-size: 11px;
    font-weight: 650;
}

.gc-evolution-inline-modal[hidden] {
    display: none;
}

.gc-evolution-inline-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.gc-evolution-inline-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 10, 12, 0.46);
}

.gc-evolution-inline-modal-content {
    position: relative;
    z-index: 1;
    width: min(640px, 96vw);
    max-height: min(760px, 90vh);
    overflow: auto;
    padding: 18px;
    border-radius: 16px;
    border: 1px solid #DCE5F0;
    background: var(--gerione-surface);
    box-shadow: 0 24px 80px rgba(2, 6, 23, 0.32);
}

.gc-evolution-inline-modal-content.wide {
    width: min(980px, 96vw);
}

.gc-evolution-inline-modal-content h4 {
    margin: 0 0 14px;
    color: #07142F;
    font-size: 18px;
    font-weight: 900;
}

.gc-evolution-inline-modal-content footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

.gc-checkbox-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-evolution-fall-form {
    display: grid;
    gap: 12px;
}

.gc-evolution-fall-form label:not(.gc-checkbox-inline) {
    display: grid;
    gap: 6px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-evolution-fall-form input[type="number"],
.gc-evolution-fall-form textarea {
    width: 100%;
    padding: 9px 11px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
}

.gc-evolution-fall-form textarea {
    min-height: 110px;
    resize: vertical;
}

.gc-evolution-fall-checks {
    display: grid;
    gap: 8px;
}

.gc-evolution-fall-checks .gc-checkbox-inline {
    justify-content: flex-start;
    min-height: auto;
    padding: 8px 10px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #F8FBFF;
}

.gc-evolution-fall-checks input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.gc-evolution-medications {
    display: grid;
    gap: 10px;
}

.gc-evolution-medication-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.2fr) minmax(110px, .8fr) minmax(140px, 1fr) minmax(180px, 1.2fr) minmax(180px, 1.2fr);
    gap: 8px;
    align-items: end;
    padding: 10px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #F8FBFF;
}

.gc-evolution-medication-row + .gc-evolution-medication-row {
    margin-top: 8px;
}

.gc-evolution-medication-row strong,
.gc-evolution-medication-row span {
    color: #17233B;
    font-weight: 900;
}

.gc-evolution-medication-row span {
    color: #50627A;
    font-size: 12px;
}

.gc-evolution-medication-row label {
    display: grid;
    gap: 6px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

@media (max-width: 980px) {
    .gc-evolution-layout,
    .gc-evolution-summary-grid {
        grid-template-columns: 1fr;
    }

    .gc-evolution-summary {
        grid-column: auto;
    }

    .gc-evolution-medication-row {
        grid-template-columns: 1fr;
    }

}

.gc-physical-exam {
    display: grid;
    gap: 14px;
}

.gc-physical-subtabs {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--gc-care-border);
    border-radius: 14px;
    background: #F8FBFE;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.gc-physical-subtabs button {
    border: 1px solid #CFE0F2;
    border-radius: 999px;
    background: #FFFFFF;
    color: #334462;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    padding: 8px 12px;
}

.gc-physical-subtabs button.active {
    border-color: var(--gc-care-green-2);
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
}

.gc-physical-panel {
    display: grid;
    gap: 14px;
    padding: 14px;
    border: 1px solid #DCE5F0;
    border-radius: 16px;
    background: var(--gc-care-surface);
}

.gc-physical-panel[hidden] {
    display: none !important;
}

.gc-physical-alert {
    border: 1px solid #FCA5A5;
    border-radius: 12px;
    background: #FEF2F2;
    color: #991B1B;
    font-size: 13px;
    font-weight: 850;
    padding: 10px 12px;
}

.gc-physical-checklist {
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
    padding: 12px;
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #F8FBFF;
}

.gc-physical-checklist legend {
    color: var(--gc-care-text);
    font-size: 13px;
    font-weight: 900;
    padding: 0 6px;
}

.gc-physical-checklist label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334462;
    font-size: 12px;
    font-weight: 800;
}

.gc-physical-checklist input[type="checkbox"] {
    width: 15px;
    height: 15px;
}

.gc-handgrip-interpretation {
    display: grid;
    gap: 7px;
    min-height: 92px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--gc-care-primary) 24%, #DCE5F0 76%);
    border-radius: 12px;
    background: color-mix(in srgb, var(--gc-care-soft) 54%, #FFFFFF 46%);
}

.gc-handgrip-interpretation strong {
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
}

.gc-handgrip-interpretation span {
    display: inline-flex;
    width: fit-content;
    min-height: 28px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: #FFFFFF;
    color: var(--gc-care-primary-strong);
    font-size: 13px;
    font-weight: 950;
}

.gc-handgrip-interpretation span.is-reduced {
    background: #FEF2F2;
    color: #991B1B;
}

.gc-handgrip-interpretation span.is-pending {
    color: var(--gc-care-muted);
}

.gc-handgrip-interpretation small {
    color: var(--gc-care-muted);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
}

.gc-auto-findings {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--gc-care-primary) 28%, #DCE5F0 72%);
    border-radius: 14px;
    background: color-mix(in srgb, var(--gc-care-soft) 72%, #FFFFFF 28%);
}

.gc-auto-findings strong {
    color: var(--gc-care-primary-strong);
    font-size: 13px;
    font-weight: 950;
}

.gc-auto-findings p {
    margin: 0;
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.gc-auto-findings ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-auto-findings li {
    border: 1px solid color-mix(in srgb, var(--gc-care-primary) 30%, #DCE5F0 70%);
    border-radius: 999px;
    background: #FFFFFF;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    padding: 7px 10px;
}

.gc-auto-findings li.is-empty {
    border-style: dashed;
    color: var(--gc-care-muted);
}

.gc-vitals-history,
.gc-edema-section {
    display: grid;
    gap: 12px;
    padding: 12px;
    border: 1px solid #DCE5F0;
    border-radius: 14px;
    background: color-mix(in srgb, var(--gc-care-surface) 92%, var(--gc-care-soft) 8%);
}

.gc-vitals-history-header,
.gc-edema-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.gc-vitals-history-header strong,
.gc-edema-header strong {
    display: block;
    color: var(--gc-care-text);
    font-size: 14px;
    font-weight: 900;
}

.gc-vitals-history-header span,
.gc-edema-header span {
    display: block;
    color: var(--gc-care-muted);
    font-size: 11px;
    font-weight: 750;
    margin-top: 2px;
}

.gc-vitals-comparison-list,
.gc-vitals-history-list,
.gc-edema-list {
    display: grid;
    gap: 8px;
}

.gc-vitals-comparison-item,
.gc-edema-row {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #D5E3F2;
    border-radius: 12px;
    background: #FFFFFF;
}

.gc-vitals-comparison-item {
    grid-template-columns: 28px minmax(0, 1fr);
}

.gc-vitals-comparison-item i {
    grid-row: span 2;
    align-self: center;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    font-style: normal;
    font-size: 13px;
    font-weight: 900;
}

.gc-vitals-comparison-item.is-up i {
    background: #DCFCE7;
    color: #047857;
}

.gc-vitals-comparison-item.is-up i::before {
    content: "▲";
}

.gc-vitals-comparison-item.is-down i {
    background: #FEE2E2;
    color: #B42318;
}

.gc-vitals-comparison-item.is-down i::before {
    content: "▼";
}

.gc-vitals-comparison-item.is-neutral i {
    background: #FEF3C7;
    color: #B45309;
}

.gc-vitals-comparison-item.is-neutral i::before {
    content: "●";
}

.gc-vitals-comparison-item strong,
.gc-edema-row-header strong {
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
}

.gc-vitals-comparison-item span {
    grid-column: 2;
    color: #53647B;
    font-size: 12px;
    font-weight: 700;
}

.gc-vitals-history-list {
    padding-top: 8px;
    border-top: 1px solid #E2EAF3;
}

.gc-vitals-history-list:empty {
    display: none;
}

.gc-vitals-history-list small {
    color: #6A7B92;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.gc-vitals-history-list p {
    display: grid;
    gap: 2px;
    margin: 0;
}

.gc-vitals-history-list p strong {
    color: #334462;
    font-size: 11px;
}

.gc-vitals-history-list p span {
    color: #53647B;
    font-size: 11px;
    font-weight: 650;
}

.gc-edema-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gc-edema-row-header {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.gc-edema-row label {
    display: grid;
    gap: 5px;
    color: var(--gc-care-text);
    font-size: 11px;
    font-weight: 850;
}

.gc-edema-row input,
.gc-edema-row select,
.gc-edema-row textarea {
    width: 100%;
    border: 1px solid #D4E1EF;
    border-radius: 10px;
    background: #FFFFFF;
    color: var(--gc-care-text);
    font: inherit;
    font-size: 12px;
    min-height: 34px;
    padding: 8px 10px;
}

.gc-edema-row textarea {
    min-height: 34px;
    resize: vertical;
}

.gc-skin-feet-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 14px;
    align-items: start;
}

.gc-skin-feet-main {
    min-width: 0;
}

.gc-pressure-lesions {
    display: grid;
    gap: 12px;
    padding: 12px;
    border: 1px solid #DCE5F0;
    border-radius: 14px;
    background: color-mix(in srgb, var(--gc-care-surface) 92%, var(--gc-care-soft) 8%);
}

.gc-pressure-lesions-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.gc-pressure-lesions-header strong {
    display: block;
    color: var(--gc-care-text);
    font-size: 14px;
    font-weight: 900;
}

.gc-pressure-lesions-header span {
    display: block;
    color: var(--gc-care-muted);
    font-size: 11px;
    font-weight: 750;
    margin-top: 2px;
}

.gc-pressure-lesions-header .gerione-button {
    min-height: 32px;
    padding: 7px 10px;
    white-space: nowrap;
}

.gc-pressure-lesion-list {
    display: grid;
    gap: 10px;
}

.gc-pressure-lesion-row {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #D5E3F2;
    border-radius: 12px;
    background: #FFFFFF;
}

.gc-pressure-lesion-row-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.gc-pressure-lesion-row-header strong {
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
}

.gc-pressure-lesion-row label,
.gc-pressure-rash-notes {
    display: grid;
    gap: 5px;
    color: var(--gc-care-text);
    font-size: 11px;
    font-weight: 850;
}

.gc-pressure-lesion-row input,
.gc-pressure-lesion-row select,
.gc-pressure-rash-notes textarea {
    width: 100%;
    border: 1px solid #D4E1EF;
    border-radius: 10px;
    background: #FFFFFF;
    color: var(--gc-care-text);
    font: inherit;
    font-size: 12px;
    min-height: 34px;
    padding: 8px 10px;
}

.gc-pressure-rash {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border: 1px solid #D5E3F2;
    border-radius: 12px;
    background: #FFFFFF;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
}

.gc-pressure-rash input[type="checkbox"] {
    width: 16px;
    height: 16px;
}

.gc-pressure-rash-notes textarea {
    min-height: 70px;
    resize: vertical;
}

.gc-pressure-stage-guide {
    border: 1px solid #D5E3F2;
    border-radius: 12px;
    background: #FFFFFF;
    overflow: hidden;
}

.gc-pressure-stage-guide summary {
    cursor: pointer;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
    padding: 10px 12px;
}

.gc-pressure-stage-guide table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.gc-pressure-stage-guide th,
.gc-pressure-stage-guide td {
    border-top: 1px solid #E2EAF3;
    padding: 8px;
    text-align: left;
    vertical-align: top;
}

.gc-pressure-stage-guide th {
    background: color-mix(in srgb, var(--gc-care-green-soft) 72%, #FFFFFF 28%);
    color: var(--gc-care-text);
    font-weight: 900;
}

@media (max-width: 980px) {
    .gc-edema-row {
        grid-template-columns: 1fr;
    }

    .gc-skin-feet-layout {
        grid-template-columns: 1fr;
    }
}

.gc-aga {
    display: grid;
    gap: 14px;
}

.gc-aga-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.gc-aga-sidebar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--gc-care-border);
    border-radius: 14px;
    background: #F8FBFE;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.gc-aga-sidebar button {
    display: grid;
    gap: 3px;
    border: 1px solid #CFE0F2;
    border-radius: 12px;
    background: #FFFFFF;
    color: #334462;
    cursor: pointer;
    font: inherit;
    padding: 11px 12px;
    text-align: left;
}

.gc-aga-sidebar button strong {
    color: inherit;
    font-size: 13px;
    font-weight: 900;
}

.gc-aga-sidebar button span {
    color: var(--gc-care-muted);
    font-size: 11px;
    font-weight: 750;
}

.gc-aga-sidebar button.active {
    border-color: var(--gerione-accent, var(--gc-care-green-2));
    background: var(--gerione-primary-soft, var(--gc-care-green-soft));
    color: var(--gerione-primary, var(--gc-care-green));
}

.gc-aga-sidebar button.active span {
    color: inherit;
}

.gc-aga-content {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.gc-aga-panel {
    display: grid;
    gap: 18px;
}

.gc-aga-panel[hidden] {
    display: none !important;
}

.gc-aga-section {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid #DCE5F0;
    border-radius: 16px;
    background: var(--gc-care-surface);
}

.gc-aga-section h4,
.gc-aga-section-header h4 {
    margin: 0;
    color: var(--gc-care-text);
    font-size: 17px;
    font-weight: 900;
}

.gc-aga-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gc-aga-section-header p {
    margin: 4px 0 0;
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 700;
}

.gc-aga-two-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.gc-aga-three-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gc-aga-two-columns > .wide,
.gc-aga-three-columns > .wide {
    grid-column: 1 / -1;
}

.gc-aga-choice-group {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-aga-choice-group legend {
    margin-bottom: 4px;
    color: var(--gc-care-text);
    font-size: 13px;
    font-weight: 900;
}

.gc-aga-choice-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334462;
    font-size: 12px;
    font-weight: 750;
}

.gc-aga-medication-table-wrap {
    overflow-x: auto;
    border: 1px solid #E4ECF5;
    border-radius: 14px;
    background: #F8FBFF;
}

.gc-aga-medication-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
}

.gc-aga-medication-table th,
.gc-aga-medication-table td {
    padding: 8px;
    border-bottom: 1px solid #E4ECF5;
    text-align: left;
    vertical-align: middle;
}

.gc-aga-medication-table tr:last-child td {
    border-bottom: 0;
}

.gc-aga-medication-table th {
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.gc-aga-medication-table input {
    width: 100%;
    min-height: 34px;
    padding: 7px 9px;
}

.gc-aga-medication-table td:nth-child(5) {
    width: 64px;
    text-align: center;
}

.gc-aga-medication-empty {
    margin: 0;
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 750;
}

.gc-aga-functional-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gc-aga-functional-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--gc-care-border);
    border-radius: 16px;
    background: linear-gradient(180deg, var(--gerione-primary-soft, var(--gc-care-green-soft)), #FFFFFF 58%);
}

.gc-aga-functional-card header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.gc-aga-functional-card h4 {
    margin: 0;
    color: var(--gc-care-text);
    font-size: 15px;
    font-weight: 900;
}

.gc-aga-functional-card p {
    margin: 4px 0 0;
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 750;
}

.gc-aga-functional-card .gerione-button {
    white-space: nowrap;
}

.gc-aga-scale-chooser {
    display: grid;
    gap: 12px;
}

.gc-aga-scale-chooser summary {
    width: fit-content;
    padding: 10px 14px;
    border: 1px solid var(--gerione-accent, var(--gc-care-green-2));
    border-radius: 999px;
    background: var(--gerione-primary-soft, var(--gc-care-green-soft));
    color: var(--gerione-primary, var(--gc-care-green));
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

@media (max-width: 980px) {
    .gc-aga-layout {
        grid-template-columns: 1fr;
    }

    .gc-aga-sidebar {
        position: static;
        display: flex;
        overflow-x: auto;
    }

    .gc-aga-sidebar button {
        min-width: 190px;
    }

    .gc-aga-two-columns,
    .gc-aga-three-columns,
    .gc-aga-functional-grid {
        grid-template-columns: 1fr;
    }
}

.gc-physical-notes {
    display: grid;
    gap: 8px;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 850;
}

.gc-physical-notes textarea {
    min-height: 96px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    resize: vertical;
}

.gc-pain-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
    gap: 16px;
    align-items: start;
}

.gc-pain-body-map {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gc-body-view {
    display: grid;
    gap: 8px;
    text-align: center;
}

.gc-body-view strong {
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
}

.gc-body-silhouette {
    position: relative;
    height: 320px;
    border: 1px solid #DCE5F0;
    border-radius: 18px;
    background:
        radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--gc-care-green-2) 8%, transparent), transparent 26%),
        linear-gradient(180deg, #F8FBFE, #FFFFFF);
    overflow: hidden;
}

.gc-body-silhouette .head,
.gc-body-silhouette .torso,
.gc-body-silhouette .arm,
.gc-body-silhouette .leg {
    position: absolute;
    display: block;
    background: rgba(14, 116, 144, 0.13);
    border: 1px solid rgba(14, 116, 144, 0.18);
}

.gc-body-silhouette .head {
    left: 50%;
    top: 8%;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    transform: translateX(-50%);
}

.gc-body-silhouette .torso {
    left: 50%;
    top: 22%;
    width: 76px;
    height: 118px;
    border-radius: 40px 40px 30px 30px;
    transform: translateX(-50%);
}

.gc-body-silhouette .arm {
    top: 28%;
    width: 25px;
    height: 125px;
    border-radius: 18px;
}

.gc-body-silhouette .arm.left { left: 27%; transform: rotate(10deg); }
.gc-body-silhouette .arm.right { right: 27%; transform: rotate(-10deg); }

.gc-body-silhouette .leg {
    top: 56%;
    width: 30px;
    height: 120px;
    border-radius: 18px;
}

.gc-body-silhouette .leg.left { left: 40%; }
.gc-body-silhouette .leg.right { right: 40%; }

.gc-pain-point {
    position: absolute;
    z-index: 2;
    width: 22px;
    height: 22px;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.gc-pain-point input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.gc-pain-point span {
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #FFFFFF;
    border-radius: 50%;
    background: #0EA5E9;
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.35);
}

.gc-pain-point.is-selected span,
.gc-pain-point input:checked + span {
    background: #EF4444;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.42);
}

.gc-msk-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.gc-msk-grid fieldset {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 12px;
    border: 1px solid #DCE5F0;
    border-radius: 14px;
    background: #F8FBFE;
}

.gc-msk-grid legend {
    color: #001B3F;
    font-size: 13px;
    font-weight: 900;
    padding: 0 4px;
}

.gc-msk-grid label {
    display: grid;
    gap: 5px;
    color: #334462;
    font-size: 12px;
    font-weight: 800;
}

.gc-msk-grid input {
    min-height: 36px;
    padding: 8px 10px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    font: inherit;
}

.gc-cadastros-page {
    display: grid;
    gap: 16px;
}

.gc-cadastros-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.gc-cadastros-sidebar {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-cadastros-sidebar button {
    display: grid;
    gap: 2px;
    min-height: 72px;
    padding: 12px 14px;
    border: 1px solid #E8EEF5;
    border-radius: 8px;
    background: #F8FAFC;
    color: #17233B;
    text-align: left;
    cursor: pointer;
}

.gc-cadastros-sidebar button strong {
    font-size: 14px;
    font-weight: 900;
}

.gc-cadastros-sidebar button span {
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-cadastros-sidebar button.active {
    border-color: color-mix(in srgb, var(--gerione-primary, var(--gc-care-green)) 34%, var(--gc-care-border) 66%);
    background: var(--gerione-primary-soft, var(--gc-care-green-soft));
}

.gc-cadastros-sidebar button.active strong,
.gc-cadastros-sidebar button.active span {
    color: var(--gerione-primary, var(--gc-care-green));
}

.gc-cadastros-content {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.gc-cadastros-page-panel {
    display: grid;
    gap: 18px;
    min-width: 0;
    padding: 18px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-cadastros-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.gc-cadastros-page-header h2 {
    margin: 0 0 6px;
    color: #17233B;
    font-size: 18px;
    font-weight: 900;
}

.gc-cadastros-page-header p {
    max-width: 760px;
    margin: 0;
    color: #52627A;
    font-size: 13px;
}

.gc-cadastros-tabs {
    display: inline-flex;
    gap: 8px;
    padding: 6px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-cadastros-tabs button {
    min-height: 38px;
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #52627A;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}

.gc-cadastros-tabs button.active {
    background: var(--gerione-primary-soft, var(--gc-care-green-soft));
    color: var(--gerione-primary, var(--gc-care-green));
}

.gc-exam-registry-panel {
    display: grid;
    gap: 18px;
}

.gc-exam-registry-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.gc-exam-registry-header h2 {
    margin: 0 0 6px;
    color: #17233B;
    font-size: 18px;
    font-weight: 900;
}

.gc-exam-registry-header p {
    max-width: 720px;
    margin: 0;
    color: #52627A;
    font-size: 13px;
}

.gc-exam-registry-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gc-exam-registry-header-actions input {
    min-height: 42px;
    min-width: 280px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
}

.gc-exam-registry-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.85fr);
    gap: 18px;
    align-items: start;
}

.gc-exam-registry-list,
.gc-exam-registry-form-panel {
    min-width: 0;
    padding: 16px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-exam-registry-list-meta {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 12px;
}

.gc-exam-registry-list-meta strong {
    color: #007F59;
    font-size: 20px;
    font-weight: 900;
}

.gc-exam-registry-list-meta span {
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-exam-registry-table-wrap {
    overflow: auto;
}

.gc-exam-registry-table {
    width: 100%;
    border-collapse: collapse;
}

.gc-exam-registry-table th,
.gc-exam-registry-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #E8EEF5;
    vertical-align: top;
    text-align: left;
}

.gc-exam-registry-table th {
    color: #52627A;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.gc-exam-registry-table td strong {
    color: #17233B;
    font-size: 13px;
}

.gc-exam-registry-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gc-exam-registry-type {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: #EEF7F3;
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 800;
}

.gc-exam-registry-type.radiologico {
    background: #EEF2FF;
    color: #4F46E5;
}

.gc-exam-registry-type.outros {
    background: #FFF7ED;
    color: #C2410C;
}

.gc-exam-registry-justification-preview {
    display: block;
    margin-top: 4px;
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.gc-exam-registry-chips span {
    padding: 4px 8px;
    border-radius: 8px;
    background: #EAF8F2;
    color: #007F59;
    font-size: 11px;
    font-weight: 800;
}

.gc-exam-registry-actions {
    display: flex;
    gap: 6px;
}

.gc-exam-registry-empty {
    margin: 12px 0 0;
    color: #52627A;
    font-size: 13px;
}

.gc-exam-registry-form {
    display: grid;
    gap: 14px;
}

.gc-exam-registry-form label {
    display: grid;
    gap: 6px;
    color: #17233B;
    font-size: 13px;
    font-weight: 850;
}

.gc-exam-registry-form input[type="text"] {
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
}

.gc-exam-registry-form textarea {
    min-height: 84px;
    padding: 10px 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    resize: vertical;
}

.gc-exam-registry-categories {
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-exam-registry-categories legend {
    margin-bottom: 8px;
    color: #17233B;
    font-size: 13px;
    font-weight: 850;
}

.gc-exam-registry-categories > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.gc-exam-registry-categories label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 8px 10px;
    border: 1px solid #E8EEF5;
    border-radius: 8px;
    background: #F8FAFC;
    font-size: 12px;
    font-weight: 700;
}

.gc-exam-registry-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.gc-exam-registry-hint {
    margin: 0;
    color: #52627A;
    font-size: 12px;
}

.gc-exam-registry-form label[data-gerione-exam-registry-justification-wrap][hidden] {
    display: none !important;
}

.gc-simple-catalog-registry form {
    display: grid;
    gap: 18px;
}

.gc-simple-catalog-header {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.gc-simple-catalog-header h2 {
    color: var(--gerione-primary-dark);
    font-size: 20px;
    margin: 0 0 6px;
}

.gc-simple-catalog-header p {
    color: #42526e;
    margin: 0;
}

.gc-simple-catalog-field {
    color: var(--gerione-primary-dark);
    display: grid;
    font-weight: 700;
    gap: 8px;
}

.gc-simple-catalog-field textarea,
.gc-simple-catalog-field select {
    border: 1px solid #d7e4f3;
    border-radius: 12px;
    padding: 14px;
}

.gc-simple-catalog-field textarea {
    min-height: 260px;
    resize: vertical;
}

.gc-simple-catalog-field select {
    min-height: 46px;
    background: #fff;
}

.gc-simple-catalog-order-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.gc-simple-catalog-order-header small {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.gc-simple-catalog-order-list {
    display: grid;
    gap: 8px;
}

.gc-simple-catalog-order-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 220px) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid #d7e4f3;
    border-radius: 12px;
    background: #fff;
}

.gc-simple-catalog-order-item input,
.gc-simple-catalog-add input {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d7e4f3;
    border-radius: 10px;
    padding: 8px 10px;
}

.gc-simple-catalog-price {
    display: grid;
    gap: 5px;
    color: #52627A;
    font-size: 11px;
    font-weight: 850;
}

.gc-simple-catalog-order-actions,
.gc-simple-catalog-add {
    display: flex;
    gap: 8px;
    align-items: center;
}

.gc-simple-catalog-order-actions button {
    min-height: 36px;
    border: 1px solid #d7e4f3;
    border-radius: 10px;
    background: #f8fbfd;
    color: var(--gerione-primary-dark);
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.gc-simple-catalog-order-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.gc-simple-catalog-order-actions button[data-gerione-catalog-order-action="remove"] {
    color: #dc2626;
}

.gc-simple-catalog-add {
    margin-top: 6px;
}

.gc-price-form {
    display: grid;
    gap: 22px;
}

.gc-price-header,
.gc-price-section > div:first-child,
.gc-price-footer {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.gc-price-header h2,
.gc-price-section h2 {
    color: var(--gerione-primary-dark);
    font-size: 20px;
    margin: 0 0 6px;
}

.gc-price-header p,
.gc-price-section p {
    color: #42526e;
    margin: 0;
}

.gc-price-table-wrap {
    border: 1px solid #d7e4f3;
    border-radius: 16px;
    overflow-x: auto;
}

.gc-price-table {
    border-collapse: collapse;
    min-width: 860px;
    width: 100%;
}

.gc-price-table th,
.gc-price-table td {
    border-bottom: 1px solid #e5edf7;
    padding: 12px;
    text-align: left;
    vertical-align: middle;
}

.gc-price-table thead th {
    background: #f4f7fb;
    color: var(--gerione-primary-dark);
    font-size: 12px;
    font-weight: 850;
}

.gc-price-table tbody th {
    color: var(--gerione-primary-dark);
    min-width: 210px;
}

.gc-price-table td {
    min-width: 140px;
    white-space: nowrap;
}

.gc-price-table td span {
    color: #667085;
    font-size: 12px;
    font-weight: 800;
    margin-right: 6px;
}

.gc-price-table input,
.gc-price-row input,
.gc-price-row select {
    background: #fff;
    border: 1px solid #d7e4f3;
    border-radius: 10px;
    min-height: 40px;
    padding: 8px 10px;
    width: 100%;
}

.gc-price-table input {
    max-width: 110px;
}

.gc-price-section {
    border-top: 1px solid #e5edf7;
    display: grid;
    gap: 14px;
    padding-top: 20px;
}

.gc-price-rows {
    display: grid;
    gap: 10px;
}

.gc-price-row {
    align-items: end;
    background: #f8fbfd;
    border: 1px solid #d7e4f3;
    border-radius: 14px;
    display: grid;
    gap: 10px;
    grid-template-columns: 1.3fr 1fr 1fr 140px;
    padding: 12px;
}

.gc-price-procedure-row {
    grid-template-columns: 1.4fr 1fr 1fr 140px;
}

.gc-price-row label {
    color: var(--gerione-primary-dark);
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
}

.gc-price-row-head {
    background: transparent;
    border: 0;
    color: #667085;
    font-size: 12px;
    font-weight: 850;
    padding-bottom: 0;
}

.gc-price-footer {
    border-top: 1px solid #e5edf7;
    padding-top: 18px;
}

.gc-finance-consultations {
    display: grid;
    gap: 20px;
    padding: 18px;
}

.gc-finance-control {
    display: grid;
    gap: 20px;
    padding: 18px;
}

.gc-finance-accounts {
    display: grid;
    gap: 20px;
    padding: 18px;
}

.gc-finance-ledger-top {
    display: grid;
    gap: 16px;
    grid-template-columns: 280px minmax(0, 1fr);
}

.gc-finance-task-card,
.gc-finance-category-card,
.gc-finance-extract-card {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.gc-finance-task-card > header,
.gc-finance-category-card > header,
.gc-finance-extract-card > header,
.gc-finance-control-card > header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--gerione-primary, #0aa37f) 14%, #fff), var(--gerione-surface, #fff));
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    color: var(--gerione-primary, #0aa37f);
    font-size: 15px;
    font-weight: 900;
    padding: 14px 18px;
}

.gc-finance-task-card {
    align-self: start;
    display: grid;
    gap: 14px;
    padding-bottom: 18px;
}

.gc-finance-task-card button {
    background: linear-gradient(135deg, var(--gerione-primary, #0aa37f), color-mix(in srgb, var(--gerione-primary, #0aa37f) 82%, #111827));
    border: 1px solid color-mix(in srgb, var(--gerione-primary, #0aa37f) 35%, transparent);
    border-radius: 14px;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--gerione-primary, #0aa37f) 18%, transparent);
    color: #fff;
    cursor: pointer;
    display: grid;
    font-size: 14px;
    font-weight: 800;
    margin: 0 10px;
    min-height: 54px;
    place-items: center;
    text-align: center;
}

.gc-finance-task-card header + button {
    margin-top: 10px;
}

.gc-finance-task-card button strong {
    display: block;
    font-size: 14px;
    font-weight: 950;
}

.gc-finance-category-body {
    min-height: 190px;
    padding: 18px 24px;
}

.gc-finance-category-body table {
    border-collapse: collapse;
    width: 100%;
}

.gc-finance-category-body th,
.gc-finance-category-body td {
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    padding: 10px 8px;
    text-align: left;
}

.gc-finance-category-body th {
    color: var(--gerione-primary, #0aa37f);
}

.gc-finance-extract-card {
    display: grid;
}

.gc-finance-control-card {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.gc-finance-control-card > header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--gerione-primary, #0aa37f) 14%, #fff), var(--gerione-surface, #fff));
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    color: var(--gerione-primary, #0aa37f);
    font-size: 15px;
    font-weight: 900;
    padding: 14px 18px;
}

.gc-finance-control-filters {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: 220px 220px minmax(260px, 1fr) auto;
    padding: 18px;
}

.gc-finance-control-filters label {
    color: var(--gerione-text, #17233b);
    display: grid;
    font-size: 12px;
    font-weight: 900;
    gap: 6px;
}

.gc-finance-control-filters label i {
    color: var(--gerione-primary, #0aa37f);
    margin-right: 4px;
}

.gc-finance-control-filters input,
.gc-finance-control-filters select {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 10px;
    color: var(--gerione-text, #17233b);
    min-height: 42px;
    padding: 8px 12px;
    width: 100%;
}

.gc-finance-control-summary {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 18px 26px;
}

.gc-finance-control-summary article {
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 5%, #fff);
    border: 1px solid color-mix(in srgb, var(--gerione-primary, #0aa37f) 12%, var(--gerione-border, #d7e4f3));
    border-radius: 16px;
    min-height: 118px;
    padding: 24px 20px;
    position: relative;
}

.gc-finance-control-summary article i {
    color: color-mix(in srgb, var(--gerione-primary, #0aa37f) 36%, #9ca3af);
    font-size: 26px;
    position: absolute;
    right: 22px;
    top: 22px;
}

.gc-finance-control-summary strong,
.gc-finance-control-summary span {
    display: block;
}

.gc-finance-control-summary strong {
    color: var(--gerione-primary, #0aa37f);
    font-size: 23px;
    font-weight: 950;
}

.gc-finance-control-summary span {
    color: var(--gerione-subtext, #52627a);
    font-size: 13px;
    font-weight: 800;
    margin-top: 4px;
}

.gc-finance-control-summary .expense strong {
    color: #ef4444;
}

.gc-finance-control-summary .discount strong {
    color: #f97316;
}

.gc-finance-control-summary .balance strong {
    color: #06a8c5;
}

.gc-finance-control-table {
    min-width: 1180px;
}

.gc-finance-control-table tr.is-expense td:nth-child(6) strong {
    color: #ef4444;
}

.gc-finance-control-table tr.is-income td:nth-child(6) strong {
    color: var(--gerione-primary, #0aa37f);
}

.gc-finance-extract-filters {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    margin: 0;
}

.gc-finance-ledger-summary {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    padding: 10px 20px 18px;
}

.gc-finance-ledger-summary article {
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    display: grid;
    gap: 12px;
    min-height: 58px;
    padding: 10px;
}

.gc-finance-ledger-summary strong {
    font-size: 13px;
}

.gc-finance-ledger-summary span {
    color: var(--gerione-subtext, #52627a);
    font-weight: 800;
}

.gc-finance-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-finance-popup[hidden] {
    display: none;
}

.gc-finance-popup {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    position: fixed;
    z-index: 1300;
}

.gc-finance-popup-backdrop {
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(3px);
    inset: 0;
    position: absolute;
}

.gc-finance-popup-panel {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(2, 6, 23, 0.35);
    max-height: 92vh;
    overflow: auto;
    position: relative;
    width: min(640px, calc(100vw - 32px));
    z-index: 1;
}

.gc-finance-popup-panel > header {
    align-items: center;
    background: linear-gradient(135deg, color-mix(in srgb, var(--gerione-primary, #0aa37f) 16%, #fff), var(--gerione-surface, #fff));
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    color: var(--gerione-text, #17233b);
    display: flex;
    justify-content: space-between;
    padding: 16px 22px;
}

.gc-finance-popup-panel > header h2 {
    color: var(--gerione-primary, #0aa37f);
    font-size: 20px;
    margin: 0;
}

.gc-finance-popup-panel > header button {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 999px;
    color: var(--gerione-text, #17233b);
    cursor: pointer;
    font-size: 22px;
    font-weight: 900;
    height: 34px;
    line-height: 1;
    width: 34px;
}

.gc-finance-popup-form {
    display: grid;
    gap: 14px;
    padding: 22px 26px 26px;
}

.gc-finance-popup-form label {
    align-items: center;
    color: var(--gerione-text, #17233b);
    display: grid;
    font-size: 13px;
    font-weight: 850;
    gap: 8px;
    grid-template-columns: 190px minmax(0, 1fr);
}

.gc-finance-popup-form label.wide {
    align-items: start;
}

.gc-finance-popup-form input,
.gc-finance-popup-form select,
.gc-finance-popup-form textarea {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 10px;
    min-height: 42px;
    padding: 9px 12px;
    width: 100%;
}

.gc-finance-popup-form textarea {
    min-height: 76px;
    resize: vertical;
}

.gc-money-input {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
}

.gc-money-input b {
    align-items: center;
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 8%, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 10px 0 0 10px;
    color: var(--gerione-primary, #0aa37f);
    display: flex;
    font-weight: 900;
    justify-content: center;
}

.gc-money-input input {
    border-left: 0;
    border-radius: 0 10px 10px 0;
}

.gc-finance-popup-category {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.gc-finance-popup-category label {
    grid-template-columns: 190px minmax(0, 1fr);
}

.gc-finance-popup-category button {
    background: var(--gerione-primary, #0ea5e9);
    border: 0;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    font-weight: 900;
    min-height: 42px;
    padding: 0 14px;
}

.gc-finance-checkbox {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-start;
    padding-left: 190px;
}

.gc-finance-checkbox input[type="checkbox"] {
    accent-color: var(--gerione-primary, #0aa37f);
    flex: 0 0 auto;
    height: 16px;
    min-height: 0;
    margin: 0;
    padding: 0;
    width: 16px;
}

.gc-finance-popup-form footer {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 6px;
}

.gc-finance-account-form-card {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 18px;
    overflow: hidden;
}

.gc-finance-account-form-card > header {
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    padding: 22px 24px;
}

.gc-finance-account-form-card h2 {
    margin: 0 0 4px;
}

.gc-finance-account-form-card p {
    color: var(--gerione-subtext, #52627a);
    margin: 0;
}

.gc-finance-account-form {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    padding: 22px;
}

.gc-finance-account-form label {
    color: var(--gerione-text, #17233b);
    display: grid;
    font-size: 12px;
    font-weight: 850;
    gap: 8px;
}

.gc-finance-account-form input,
.gc-finance-account-form select,
.gc-finance-account-form textarea {
    background: #fff;
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 12px;
    min-height: 44px;
    padding: 9px 12px;
    width: 100%;
}

.gc-finance-account-form textarea {
    min-height: 92px;
    resize: vertical;
}

.gc-finance-account-form .wide {
    grid-column: 1 / -1;
}

.gc-finance-filters {
    align-items: end;
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 18px;
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    padding: 22px;
}

.gc-finance-filters label,
.gc-finance-receipt label {
    color: var(--gerione-text, #17233b);
    display: grid;
    font-size: 12px;
    font-weight: 850;
    gap: 8px;
}

.gc-finance-filters input,
.gc-finance-filters select,
.gc-finance-receipt input,
.gc-finance-receipt select,
.gc-finance-receipt textarea {
    background: #fff;
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 12px;
    min-height: 44px;
    padding: 9px 12px;
    width: 100%;
}

.gc-finance-filter-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.gc-finance-summary {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
}

.gc-finance-summary article,
.gc-finance-table-card {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 16px;
}

.gc-finance-summary article {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.gc-finance-summary strong {
    color: var(--gerione-subtext, #52627a);
    font-size: 12px;
}

.gc-finance-summary span {
    color: var(--gerione-primary-dark, #008c5f);
    font-size: 20px;
    font-weight: 900;
}

.gc-finance-table-card {
    overflow: hidden;
}

.gc-finance-table-card > header {
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    padding: 22px 24px;
}

.gc-finance-table-card h2 {
    color: var(--gerione-text, #17233b);
    margin: 0 0 4px;
}

.gc-finance-table-card p {
    color: var(--gerione-subtext, #52627a);
    margin: 0;
}

.gc-finance-table-wrap {
    overflow-x: auto;
}

.gc-finance-table {
    border-collapse: collapse;
    min-width: 1120px;
    width: 100%;
}

.gc-finance-table th,
.gc-finance-table td {
    border-bottom: 1px solid var(--gerione-border, #e5edf7);
    padding: 14px 16px;
    text-align: left;
    vertical-align: top;
}

.gc-finance-table th {
    background: var(--gerione-muted, #f4f7fb);
    color: var(--gerione-text, #17233b);
    font-size: 12px;
    font-weight: 900;
}

.gc-finance-status {
    background: var(--gerione-primary-soft, #e9f9f0);
    border-radius: 999px;
    color: var(--gerione-primary-dark, #008c5f);
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    padding: 5px 10px;
}

.gc-finance-status-paid {
    background: var(--gerione-primary-soft, #e9f9f0);
    color: var(--gerione-primary-dark, #008c5f);
}

.gc-finance-status-pending,
.gc-finance-status-partial {
    background: #fff7ed;
    color: #c2410c;
}

.gc-finance-status-canceled,
.gc-finance-status-refunded,
.gc-finance-status-overdue {
    background: #fef2f2;
    color: #b42318;
}

.gc-finance-accounts-table td strong,
.gc-finance-accounts-table td span {
    display: block;
}

.gc-finance-accounts-table td span {
    color: var(--gerione-subtext, #52627a);
    font-size: 12px;
    margin-top: 4px;
}

.gc-finance-delete-form {
    margin-top: 8px;
}

.gc-finance-delete-form button {
    background: #fff;
    border: 1px solid #fecaca;
    border-radius: 10px;
    color: #b42318;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    min-height: 34px;
    padding: 0 12px;
}

.gc-finance-receipt summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid color-mix(in srgb, var(--gerione-primary, #0aa37f) 20%, var(--gerione-border, #d7e4f3) 80%);
    border-radius: 8px;
    background: var(--gerione-primary-soft, #eefaf4);
    color: var(--gerione-primary-dark, #008c5f);
    cursor: pointer;
    font-weight: 900;
    list-style: none;
}

.gc-finance-receipt summary::-webkit-details-marker {
    display: none;
}

.gc-finance-receipt form {
    background: var(--gerione-muted, #f8fbfd);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 16px;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px;
    min-width: min(520px, calc(100vw - 80px));
    padding: 16px;
}

.gc-finance-row-actions > .gc-finance-receipt {
    display: inline-flex;
    flex-direction: column;
    gap: 0;
}

.gc-finance-row-actions > .gc-finance-receipt > summary {
    white-space: nowrap;
}

.gc-finance-receipt .wide {
    grid-column: 1 / -1;
}

@media (max-width: 980px) {
    .gc-price-header,
    .gc-price-section > div:first-child,
    .gc-price-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-price-row,
    .gc-price-procedure-row,
    .gc-simple-catalog-order-item {
        grid-template-columns: 1fr;
    }

    .gc-price-row-head {
        display: none;
    }

    .gc-finance-filters,
    .gc-finance-summary,
    .gc-finance-receipt form {
        grid-template-columns: 1fr;
    }

    .gc-finance-consultations,
    .gc-finance-control {
        padding: 12px;
    }

    .gc-finance-accounts {
        padding: 12px;
    }

    .gc-finance-ledger-top,
    .gc-finance-ledger-summary,
    .gc-finance-control-filters,
    .gc-finance-control-summary {
        grid-template-columns: 1fr;
    }

    .gc-finance-popup-form label,
    .gc-finance-popup-category,
    .gc-finance-popup-category label {
        grid-template-columns: 1fr;
    }

    .gc-finance-checkbox {
        padding-left: 0;
    }

    .gc-finance-popup-form {
        padding: 18px;
    }

    .gc-finance-receipt form {
        min-width: 0;
    }
}

.gc-cid-picker {
    display: grid;
    gap: 10px;
    align-content: start;
}

.gc-cid-picker-search {
    display: grid;
    gap: 6px;
}

.gc-cid-picker-search span {
    color: #17233B;
    font-size: 13px;
    font-weight: 850;
}

.gc-cid-picker-search input {
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
}

.gc-cid-picker-results {
    display: grid;
    gap: 6px;
    max-height: 220px;
    padding: 8px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    overflow: auto;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.10);
}

.gc-cid-picker-results[hidden] {
    display: none;
}

.gc-cid-picker-result {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid #E8EEF5;
    border-radius: 7px;
    background: #F8FAFC;
    color: #17233B;
    text-align: left;
    cursor: pointer;
}

.gc-cid-picker-result:hover {
    background: #E8F8F1;
    border-color: #BDE7D5;
}

.gc-cid-picker-result strong,
.gc-cid-picker-result span {
    display: block;
}

.gc-cid-picker-result strong {
    font-size: 12px;
    font-weight: 900;
}

.gc-cid-picker-result span {
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-cid-picker-selected {
    display: grid;
    gap: 8px;
    min-height: 42px;
}

.gc-cid-picker-empty {
    padding: 8px 2px;
    color: #64748B;
    font-size: 12px;
    font-style: italic;
}

.gc-cid-picker-chip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #BDE7D5;
    border-radius: 8px;
    background: #EAF8F2;
    color: #0F172A;
    font-size: 12px;
    font-weight: 700;
}

.gc-cid-picker-chip:has(.gc-cid-picker-chronic input:checked) {
    border-color: color-mix(in srgb, var(--gerione-danger, #EF4444) 45%, #BDE7D5 55%);
    background: color-mix(in srgb, var(--gerione-danger, #EF4444) 10%, #FFFFFF 90%);
}

.gc-cid-picker-chip strong {
    font-weight: 900;
}

.gc-cid-picker-chip span {
    min-width: 0;
    color: #334155;
    line-height: 1.3;
}

.gc-cid-picker-chronic {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: auto !important;
    min-width: 0 !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 3px 9px !important;
    border: 1px solid #DCE5F0;
    border-radius: 999px;
    background: #FFFFFF;
    color: #52627A;
    font-size: 11px;
    font-weight: 850;
    line-height: 1 !important;
    white-space: nowrap;
}

.gc-cid-picker-chronic input {
    width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    margin: 0 !important;
    accent-color: var(--gerione-danger, #EF4444);
}

.gc-cid-picker-chip button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #0B7A52;
    cursor: pointer;
}

.gc-cid-picker-chip button:hover {
    background: rgba(0, 140, 97, 0.12);
}

@media (max-width: 700px) {
    .gc-cid-picker-chip {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .gc-cid-picker-chronic {
        grid-column: 1 / -1;
        justify-self: start;
    }

}

.gc-consultation-footer {
    grid-row: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: rgba(248, 250, 252, 0.98);
}

.gc-consultation-form form:has(.gc-preconsultation-summary) .gc-consultation-footer {
    grid-row: 6;
}

.gc-consultation-save-meta,
.gc-consultation-save-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gc-consultation-print-selector {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 18px;
}

.gc-consultation-print-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.gc-consultation-print-dialog {
    position: relative;
    z-index: 1;
    width: min(560px, 100%);
    display: grid;
    gap: 14px;
    padding: 22px;
    border: 1px solid var(--gc-care-border);
    border-radius: 18px;
    background: var(--gc-care-surface);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.gc-consultation-print-dialog h3,
.gc-consultation-print-dialog p {
    margin: 0;
}

.gc-consultation-print-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.gc-consultation-print-options label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #D6E2F0;
    border-radius: 12px;
    background: #F8FBFF;
    color: var(--gc-care-text);
    font-weight: 850;
}

.gc-consultation-print-dialog footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.gc-consultation-save-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #DCE6EF;
    border-radius: 999px;
    background: #FFFFFF;
    color: #52627A;
    font-size: 12px;
    font-weight: 850;
}

.gc-consultation-save-meta strong {
    color: #64748B;
    font-size: 11px;
    text-transform: uppercase;
}

.gc-consultation-save-meta b {
    color: #001B3F;
    font-size: 12px;
}

.gc-consultation-form form.is-saving {
    opacity: .72;
    pointer-events: none;
}

.gc-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.gc-detail-grid article,
.gc-detail-section {
    padding: 16px;
}

.gc-detail-grid strong,
.gc-detail-grid span {
    display: block;
}

.gc-detail-grid strong {
    margin-bottom: 6px;
    color: #52627A;
    font-size: 12px;
}

.gc-detail-grid span {
    color: #111827;
    font-weight: 850;
}

.gc-detail-section {
    margin-bottom: 12px;
}

.gc-detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.gc-detail-section .gc-detail-tags {
    margin-top: 8px;
}

.gc-detail-list ul {
    display: grid;
    gap: 6px;
    margin: 8px 0;
    padding: 0;
    list-style: none;
}

.gc-detail-list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border: 1px solid #E4E7EC;
    border-radius: 10px;
    background: #F8FAFC;
}

.gc-detail-list li span {
    color: #475467;
    text-align: right;
}

@media (max-width: 1180px) {
    .gc-workspace-alerts,
    .gc-workspace-quick,
    .gc-workspace-grid,
    .gc-msk-grid,
    .gc-consultation-grid.four,
    .gc-consultation-grid.vitals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-pain-layout {
        grid-template-columns: 1fr;
    }

    .gc-exam-registry-layout {
        grid-template-columns: 1fr;
    }

    .gc-cadastros-layout {
        grid-template-columns: 1fr;
    }

    .gc-consultation-alert-strip,
    .gc-consultation-action-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gc-consultation-tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .gc-patient-workspace,
    .gc-consultation-form,
    .gc-consultation-detail {
        padding: 18px 14px;
    }

    .gc-workspace-hero,
    .gc-workspace-contact,
    .gc-workspace-alerts,
    .gc-workspace-quick,
    .gc-workspace-grid,
    .gc-timeline-event,
    .gc-consultation-header,
    .gc-consultation-detail > header,
    .gc-detail-grid,
    .gc-msk-grid,
    .gc-pain-body-map,
    .gc-consultation-grid.two,
    .gc-consultation-grid.three,
    .gc-consultation-grid.four,
    .gc-consultation-grid.vitals {
        grid-template-columns: 1fr;
    }

    .gc-consultation-conduta-layout,
    .gc-consultation-conduta-main {
        grid-template-columns: 1fr;
    }

    .gc-consultation-care-plan {
        position: static;
    }

    .gc-consultation-care-plan-summary,
    .gc-care-plan-item-grid {
        grid-template-columns: 1fr;
    }

    .gc-care-plan-row {
        grid-template-columns: 1fr;
    }

    .gc-care-plan-field.wide {
        grid-column: auto;
    }

    .gc-exam-registry-header,
    .gc-exam-registry-header-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .gc-exam-registry-header-actions input {
        min-width: 0;
        width: 100%;
    }

    .gc-exam-registry-categories > div {
        grid-template-columns: 1fr;
    }

    .gc-cadastros-page-header {
        flex-direction: column;
        align-items: stretch;
    }

    .gc-cadastros-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-consultation-alert-strip,
    .gc-consultation-action-strip {
        grid-template-columns: 1fr;
    }

    .gc-consultation-form form {
        min-height: auto;
        max-height: none;
    }

    .gc-consultation-tabs {
        grid-template-columns: 1fr 1fr;
    }

    .gc-workspace-actions,
    .gc-consultation-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-consultation-save-meta,
    .gc-consultation-save-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .gc-consultation-patient-header {
        grid-template-columns: 1fr;
    }

    .gc-consultation-header-actions {
        justify-content: flex-start;
    }

    .gc-consultation-full-data {
        justify-self: start;
    }

    .gc-consultation-grid .wide {
        grid-column: auto;
    }

}

/* Patient profile view */
.gc-patient-profile {
    padding: 18px;
    background: #F8FAFC;
    color: #111827;
    font-family: 'Inter', 'Poppins', system-ui, sans-serif;
}

.gc-profile-hero,
.gc-profile-actions-card,
.gc-profile-card,
.gc-profile-timeline {
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 9px 25px rgba(15, 23, 42, 0.035);
}

.gc-profile-hero {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    padding: 18px 20px 12px;
}

.gc-profile-photo {
    width: 116px;
    height: 116px;
    overflow: hidden;
    border-radius: 999px;
    border: 6px solid #F1F5F9;
    background: linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 44px;
    font-weight: 900;
}

.gc-profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-profile-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.gc-profile-name-row h2 {
    margin: 0;
    color: #111827;
    font-size: 28px;
    font-weight: 900;
}

.gc-profile-age {
    padding: 6px 10px;
    border-radius: 8px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
}

.gc-profile-edit-icon {
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    color: #64748B;
    cursor: pointer;
}

.gc-profile-demographics {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    margin-top: 14px;
}

.gc-profile-demographics span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #52627A;
    font-size: 13px;
    font-weight: 750;
}

.gc-profile-demographics i {
    color: #64748B;
}

.gc-profile-demographics .fa-whatsapp {
    color: var(--gc-care-green);
}

.gc-profile-full-button {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-profile-alert-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 6px;
    border: 1px solid #DCE5F0;
    border-radius: 9px;
    overflow: hidden;
}

.gc-profile-alert-row article {
    min-height: 54px;
    padding: 10px 16px;
    border-right: 1px solid #E8EEF5;
}

.gc-profile-alert-row article:last-child {
    border-right: 0;
}

.gc-profile-alert-row i,
.gc-profile-alert-row strong,
.gc-profile-alert-row span {
    display: block;
}

.gc-profile-alert-row i {
    float: left;
    margin-right: 8px;
    font-size: 14px;
}

.gc-profile-alert-row strong {
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 900;
}

.gc-profile-alert-row span {
    color: #111827;
    font-size: 11px;
    font-weight: 700;
}

.gc-profile-alert-row small {
    display: block;
    margin-top: 6px;
    color: #52627A;
    font-size: 10px;
    line-height: 1.35;
}

.gc-fall-risk-cleared-note {
    display: block;
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 9px;
    line-height: 1.25;
    letter-spacing: 0.01em;
}

.gc-profile-alert-row .gc-fall-risk-cleared-note {
    color: #8A94A8;
    font-size: 9px;
}

.gc-profile-alert-row .danger strong,
.gc-profile-alert-row .danger i { color: #F04438; }
.gc-profile-alert-row .warning strong { color: #F97316; }
.gc-profile-alert-row .purple strong { color: #7C3AED; }
.gc-profile-alert-row .success strong,
.gc-profile-alert-row .success i { color: var(--gc-care-green); }

.gc-profile-actions-card {
    margin-top: 10px;
    padding: 14px 18px;
}

.gc-profile-actions-card h3,
.gc-profile-card h3,
.gc-profile-timeline h3 {
    margin: 0 0 12px;
    color: #17233B;
    font-size: 15px;
    font-weight: 900;
}

.gc-profile-actions {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.gc-profile-actions button {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 10px 12px;
    border: 1px solid #DCE5F0;
    border-radius: 9px;
    background: #F8FCFB;
    color: #17233B;
    text-align: left;
    cursor: pointer;
}

.gc-profile-actions button:disabled,
.gc-profile-actions button.is-disabled {
    border-color: #E4E7EC;
    background: #F2F4F7;
    color: #667085;
    cursor: not-allowed;
    opacity: .78;
}

.gc-profile-actions button[data-gerione-workspace-action="new-consultation"] {
    border-color: var(--gerione-primary, var(--gc-care-green));
    background: var(--gerione-primary, var(--gc-care-green));
    color: #FFFFFF;
    box-shadow: 0 12px 24px color-mix(in srgb, var(--gerione-primary, var(--gc-care-green)) 22%, transparent);
}

.gc-profile-actions button[data-gerione-workspace-action="new-consultation"] i,
.gc-profile-actions button[data-gerione-workspace-action="new-consultation"] strong,
.gc-profile-actions button[data-gerione-workspace-action="new-consultation"] span {
    color: #FFFFFF;
}

.gc-profile-actions button[data-gerione-workspace-action="new-consultation"]:hover,
.gc-profile-actions button[data-gerione-workspace-action="new-consultation"]:focus-visible {
    border-color: var(--gerione-primary-dark, var(--gerione-primary, var(--gc-care-green)));
    background: var(--gerione-primary-dark, var(--gerione-primary, var(--gc-care-green)));
}

.gc-profile-actions button:disabled i,
.gc-profile-actions button.is-disabled i {
    color: #98A2B3;
}

.gc-profile-actions i {
    grid-row: 1 / 3;
    color: var(--gc-care-green);
    font-size: 24px;
}

.gc-profile-actions strong,
.gc-profile-actions span {
    display: block;
}

.gc-profile-actions strong {
    font-size: 12px;
    font-weight: 900;
}

.gc-profile-actions span {
    color: #52627A;
    font-size: 11px;
    font-weight: 700;
}

.gc-profile-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.gc-profile-card {
    min-height: 150px;
    padding: 14px 16px;
}

.gc-profile-card.compact,
.gc-profile-card.prescription,
.gc-profile-card.notes {
    min-height: 140px;
}

.gc-profile-card-span-2 {
    grid-column: span 2;
}

.gc-profile-card h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gc-profile-card h3 em {
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-style: normal;
    font-size: 11px;
}

.gc-profile-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gc-profile-card li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    min-height: 23px;
    border-bottom: 1px solid #E8EEF5;
    color: #17233B;
    font-size: 12px;
    font-weight: 700;
}

.gc-profile-card li:last-child {
    border-bottom: 0;
}

.gc-profile-card li span {
    color: #344054;
    font-weight: 850;
    white-space: nowrap;
}

.gc-profile-diagnosis-list li {
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.35;
}

.gc-profile-diagnosis-list li span {
    flex: 0 0 52px;
    min-width: 52px;
    color: #17233B;
}

.gc-profile-diagnosis-list.all {
    display: grid;
    gap: 6px;
    max-height: 60vh;
    overflow: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-profile-diagnosis-list.all li {
    padding: 8px 10px;
    border: 1px solid #E4E7EC;
    border-radius: 10px;
    background: #F8FAFC;
}

.gc-profile-card .checks li {
    justify-content: flex-start;
}

.gc-profile-card .checks li::before {
    content: "✓";
    margin-right: 8px;
    color: var(--gc-care-green);
    font-weight: 900;
}

.gc-profile-care-plan-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFD 100%);
}

.gc-profile-care-plan-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 8px;
}

.gc-profile-care-plan-column {
    min-width: 0;
    padding: 10px;
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
}

.gc-profile-care-plan-column h4 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 8px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-profile-care-plan-column h4::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #D0D5DD;
    box-shadow: 0 0 0 4px rgba(208, 213, 221, 0.24);
}

.gc-profile-care-plan-column h4 span {
    flex: 1;
    min-width: 0;
}

.gc-profile-care-plan-column h4 em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: #F2F4F7;
    color: #344054;
    font-style: normal;
    font-size: 11px;
    font-weight: 900;
}

.gc-profile-care-plan-column.is-active h4::before {
    background: #F04438;
    box-shadow: 0 0 0 4px rgba(240, 68, 56, 0.14);
}

.gc-profile-care-plan-column.is-resolving h4::before {
    background: #F79009;
    box-shadow: 0 0 0 4px rgba(247, 144, 9, 0.16);
}

.gc-profile-care-plan-column.is-resolved h4::before {
    background: #12B76A;
    box-shadow: 0 0 0 4px rgba(18, 183, 106, 0.15);
}

.gc-profile-care-plan-items {
    display: grid;
    gap: 8px;
}

.gc-profile-card .gc-profile-care-plan-items li {
    display: block;
    min-height: 0;
    padding: 9px;
    border: 1px solid #EEF2F6;
    border-radius: 10px;
    background: #FAFCFE;
}

.gc-profile-card .gc-profile-care-plan-items li strong {
    display: block;
    color: #17233B;
    line-height: 1.25;
}

.gc-profile-card .gc-profile-care-plan-items li span {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 7px;
    color: #52627A;
    white-space: normal;
}

.gc-profile-card .gc-profile-care-plan-items li small {
    min-width: 0;
    color: #52627A;
    font-size: 11px;
    font-weight: 800;
}

.gc-profile-card .gc-profile-care-plan-items li b {
    flex: 0 0 auto;
    padding: 3px 7px;
    border-radius: 999px;
    background: #FFF4E5;
    color: #B54708;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.gc-profile-care-plan-column .gc-profile-empty {
    margin: 10px 0 0;
}

.gc-profile-care-plan-more {
    margin: 8px 0 0;
    color: #52627A;
    font-size: 11px;
    font-weight: 800;
}

.gc-profile-card a {
    display: inline-flex;
    margin-top: 8px;
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.gc-profile-card .danger-text {
    color: #F04438;
}

.gc-profile-card.prescription li {
    display: block;
    padding: 4px 0;
}

.gc-profile-card.prescription li strong,
.gc-profile-card.prescription li span {
    display: block;
}

.gc-profile-card.prescription li span {
    color: #52627A;
    font-size: 11px;
}

.gc-profile-card.notes textarea {
    width: 100%;
    min-height: 96px;
    padding: 12px;
    border: 1px solid #DCE5F0;
    border-radius: 9px;
    resize: none;
    font: inherit;
    font-size: 12px;
}

.gc-profile-timeline {
    margin-top: 10px;
    padding: 14px 18px 18px;
}

.gc-profile-timeline header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gc-profile-timeline header button {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-profile-timeline-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.gc-profile-timeline-filters button {
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid #CFE0F2;
    border-radius: 999px;
    background: #F8FAFC;
    color: #344054;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

.gc-profile-timeline-filters button.is-active {
    border-color: color-mix(in srgb, var(--gc-care-green) 42%, var(--gc-care-border) 58%);
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
}

.gc-profile-timeline-line {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    margin-top: 18px;
    padding: 20px 20px 0;
}

.gc-profile-timeline-line::before {
    content: "";
    position: absolute;
    top: 28px;
    left: 24px;
    right: 24px;
    height: 1px;
    background: #C9D6E4;
}

.gc-profile-timeline-expanded {
    display: grid;
    gap: 22px;
    margin-top: 18px;
}

.gc-profile-timeline-expanded[hidden] {
    display: none;
}

.gc-profile-timeline-row {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    min-height: 142px;
    padding: 20px 20px 0;
}

.gc-profile-timeline-row::before {
    content: "";
    position: absolute;
    top: 28px;
    left: 24px;
    right: 24px;
    height: 1px;
    background: #C9D6E4;
}

.gc-profile-timeline-row.turn-right::after,
.gc-profile-timeline-row.turn-left::after {
    content: "";
    position: absolute;
    top: 28px;
    bottom: -50px;
    width: 28px;
    border-top: 1px solid #C9D6E4;
    border-bottom: 1px solid #C9D6E4;
    pointer-events: none;
}

.gc-profile-timeline-row.turn-right::after {
    right: 2px;
    border-right: 1px solid #C9D6E4;
    border-radius: 0 22px 22px 0;
}

.gc-profile-timeline-row.turn-left::after {
    left: 2px;
    border-left: 1px solid #C9D6E4;
    border-radius: 22px 0 0 22px;
}

.gc-profile-timeline.is-expanded [data-gerione-timeline-toggle] i {
    transform: rotate(180deg);
}

.gc-profile-inline-popup {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.gc-profile-inline-popup[hidden] {
    display: none;
}

.gc-profile-inline-popup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .42);
}

.gc-profile-inline-popup-panel {
    position: relative;
    z-index: 1;
    width: min(760px, 94vw);
    max-height: 82vh;
    overflow: hidden;
    padding: 18px;
    border: 1px solid #D9E4F2;
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
}

.gc-profile-inline-popup-panel header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.gc-profile-inline-popup-panel header p {
    margin: 0 0 4px;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
}

.gc-profile-inline-popup-panel header h3 {
    margin: 0;
    color: #061A3A;
    font-size: 18px;
}

.gc-profile-inline-popup-panel header button {
    border: 0;
    background: transparent;
    color: #475467;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.gc-alert-detail-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

.gc-profile-timeline-line article,
.gc-profile-timeline-row article {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 4px;
    padding-top: 14px;
    text-align: center;
}

.gc-profile-timeline-line article > i,
.gc-profile-timeline-row article > i {
    position: absolute;
    top: -1px;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--gc-care-green);
}

.gc-profile-timeline-line time,
.gc-profile-timeline-line strong,
.gc-profile-timeline-line span,
.gc-profile-timeline-row time,
.gc-profile-timeline-row strong,
.gc-profile-timeline-row span {
    display: block;
}

.gc-profile-timeline-line time,
.gc-profile-timeline-row time {
    min-width: 150px;
    padding-top: 12px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-profile-timeline-line strong,
.gc-profile-timeline-line span,
.gc-profile-timeline-row strong,
.gc-profile-timeline-row span {
    width: 100%;
    max-width: 190px;
    padding: 0 12px;
    background: #F8FAFC;
    color: #17233B;
    font-size: 12px;
}

.gc-profile-timeline-line span,
.gc-profile-timeline-row span {
    padding-bottom: 12px;
    border-radius: 0 0 7px 7px;
    color: #52627A;
}

.gc-profile-timeline-line button,
.gc-profile-timeline-row button {
    margin-top: 6px;
    border: 0;
    background: transparent;
    color: var(--gc-care-green);
    font-size: 11px;
    font-weight: 900;
}

.gc-patient-history-popup {
    width: 100%;
    max-height: min(760px, 88vh);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gc-patient-history-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #E1E8F0;
}

.gc-patient-history-header p {
    margin: 0 0 4px;
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.gc-patient-history-header h2 {
    margin: 0;
    color: #061A3A;
    font-size: 22px;
}

.gc-patient-history-close {
    width: 38px;
    height: 38px;
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
    color: #344054;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.gc-patient-history-list {
    position: relative;
    overflow: auto;
    padding: 6px 10px 6px 30px;
}

.gc-patient-history-list::before {
    content: "";
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 15px;
    width: 2px;
    background: #D7E2EE;
}

.gc-patient-history-item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid #DDE8F3;
    border-radius: 14px;
    background: #FFFFFF;
}

.gc-patient-history-item:last-child {
    margin-bottom: 0;
}

.gc-patient-history-marker {
    position: absolute;
    top: 22px;
    left: -31px;
    width: 12px;
    height: 12px;
    border: 3px solid #FFFFFF;
    border-radius: 999px;
    background: var(--gc-care-green);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--gc-care-green) 42%, #FFFFFF 58%);
}

.gc-patient-history-item.is-prescription .gc-patient-history-marker {
    background: #1E88E5;
}

.gc-patient-history-item.is-exam_request .gc-patient-history-marker {
    background: #F97316;
}

.gc-patient-history-item.is-document .gc-patient-history-marker {
    background: #7C3AED;
}

.gc-patient-history-item.is-scale .gc-patient-history-marker {
    background: #0F7285;
}

.gc-patient-history-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.gc-patient-history-meta span {
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 11px;
    font-weight: 900;
}

.gc-patient-history-meta time {
    color: #667085;
    font-size: 12px;
    font-weight: 800;
}

.gc-patient-history-content h3 {
    margin: 0;
    color: #061A3A;
    font-size: 15px;
}

.gc-patient-history-content p {
    margin: 5px 0 0;
    color: #52627A;
    font-size: 12px;
    line-height: 1.45;
}

.gc-patient-history-actions {
    display: flex;
    align-items: center;
}

.gc-patient-history-actions button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%);
    border-radius: 10px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-patient-history-empty {
    display: grid;
    place-items: center;
    gap: 8px;
    min-height: 220px;
    color: #52627A;
    text-align: center;
}

.gc-patient-history-empty i {
    color: var(--gc-care-green);
    font-size: 32px;
}

.gc-patient-history-empty strong {
    color: #061A3A;
    font-size: 16px;
}

.gerione-modal[data-gerione-view="patient-history"] .gerione-modal-content {
    width: min(920px, calc(100vw - 48px));
    padding: 20px;
}

.gerione-modal[data-gerione-view="patient-history"] .gerione-modal-body {
    padding-top: 0;
}

.gerione-modal[data-gerione-view="patient-history"] > .gerione-modal-content > .gerione-modal-close {
    display: none;
}

@media (max-width: 1320px) {
    .gc-profile-actions,
    .gc-profile-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-profile-alert-row,
    .gc-profile-timeline-line {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-profile-timeline-expanded {
        overflow-x: auto;
    }

    .gc-profile-timeline-row {
        grid-template-columns: repeat(5, minmax(150px, 1fr));
        min-width: 820px;
    }

}

@media (max-width: 760px) {
    .gc-profile-hero,
    .gc-profile-actions,
    .gc-profile-card-grid,
    .gc-profile-alert-row,
    .gc-profile-timeline-line {
        grid-template-columns: 1fr;
    }

    .gc-profile-full-button {
        justify-self: start;
    }

    .gc-profile-card-span-2 {
        grid-column: auto;
    }

    .gc-profile-care-plan-board {
        grid-template-columns: 1fr;
    }

    .gc-profile-timeline-line::before {
        display: none;
    }

    .gc-profile-timeline-expanded {
        overflow-x: visible;
    }

    .gc-profile-timeline-row {
        grid-template-columns: 1fr;
        min-width: 0;
        padding: 4px 0 0;
    }

    .gc-profile-timeline-row::before,
    .gc-profile-timeline-row::after {
        display: none;
    }
}

.gc-profile-empty {
    margin: 16px 0 10px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-profile-card-link {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #009B68;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-prescription-form,
.gc-prescription-detail {
    color: #101828;
}

.gc-prescription-form {
    padding: 0 18px 72px;
}

.gerione-modal[data-gerione-view="prescription-form"] .gerione-modal-content {
    padding: 22px 26px;
}

.gerione-modal[data-gerione-view="prescription-form"] .gerione-modal-body {
    padding-top: 0;
}

.gc-prescription-header,
.gc-prescription-detail > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 14px 36px rgba(20, 36, 61, 0.08);
}

.gc-prescription-header p,
.gc-prescription-detail > header p {
    margin: 0 0 3px;
    color: #009B68;
    font-size: 12px;
    font-weight: 900;
}

.gc-prescription-header h2,
.gc-prescription-detail > header h2 {
    margin: 0;
    color: #0B1220;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 900;
}

.gc-prescription-header span,
.gc-prescription-detail > header span {
    display: block;
    margin-top: 5px;
    color: #52627A;
    font-size: 13px;
    font-weight: 750;
}

.gc-prescription-header-actions,
.gc-prescription-detail-actions {
    display: flex;
    gap: 10px;
}

.gc-prescription-header button,
.gc-prescription-detail-actions button,
.gc-prescription-items header button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-prescription-detail-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.gc-prescription-detail-meta span {
    display: grid;
    gap: 4px;
    min-height: 58px;
    padding: 12px 14px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 13px;
    font-weight: 800;
}

.gc-prescription-detail-meta strong {
    color: #52627A;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.gc-prescription-meta,
.gc-prescription-notes,
.gc-prescription-items,
.gc-prescription-history,
.gc-prescription-current,
.gc-prescription-print-options,
.gc-prescription-detail-list,
.gc-prescription-detail-notes {
    margin-top: 12px;
    padding: 18px 20px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-prescription-meta {
    display: grid;
    grid-template-columns: 180px 180px minmax(220px, 1fr);
    gap: 12px;
}

.gc-prescription-history header,
.gc-prescription-current header,
.gc-prescription-print-options header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.gc-prescription-history h3,
.gc-prescription-current h3,
.gc-prescription-print-options h3 {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 900;
}

.gc-prescription-history p,
.gc-prescription-current p,
.gc-prescription-print-options p {
    margin: 0;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-prescription-history-list {
    display: grid;
    gap: 8px;
}

.gc-current-med-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 8px;
}

.gc-current-med-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #E8EEF5;
    border-radius: 9px;
    background: #F8FAFC;
}

.gc-current-med-list strong,
.gc-current-med-list span {
    display: block;
}

.gc-current-med-list strong {
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
}

.gc-current-med-list span {
    margin-top: 3px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-current-med-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.gc-current-med-list button,
.gc-suspended-med-list button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid #B7E6D2;
    border-radius: 8px;
    background: #FFFFFF;
    color: #009B68;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-prescription-suspended {
    background: #fff;
    border: 1px solid #dbe8f4;
    border-radius: 16px;
    box-shadow: 0 16px 30px rgba(9, 47, 87, .05);
    display: grid;
    gap: 12px;
    padding: 18px 20px;
}

.gc-prescription-main-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 16px;
    background: color-mix(in srgb, var(--gerione-primary-soft, #E9F9F0) 42%, var(--gerione-surface, #FFFFFF) 58%);
}

.gc-prescription-main-tabs button {
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: var(--gerione-subtext, #52627A);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.gc-prescription-main-tabs button.active {
    border-color: color-mix(in srgb, var(--gerione-primary, #1E5D88) 26%, var(--gerione-border, #DCE5F0) 74%);
    background: var(--gerione-card, #FFFFFF);
    color: var(--gerione-primary-dark, #1E5D88);
    box-shadow: 0 10px 22px rgba(9, 47, 87, .08);
}

.gc-prescription-tab-panel {
    display: grid;
    gap: 14px;
}

.gc-prescription-tab-panel[hidden] {
    display: none;
}

.gc-manipulated-prescription {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 18px;
    background: color-mix(in srgb, var(--gerione-surface, #FFFFFF) 82%, var(--gerione-primary-soft, #E9F9F0) 18%);
    box-shadow: 0 18px 40px rgba(9, 47, 87, .06);
}

.gc-manipulated-prescription > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.gc-manipulated-prescription h3,
.gc-manipulated-prescription h4 {
    margin: 0;
    color: var(--gerione-primary-dark, #1E5D88);
    font-weight: 950;
}

.gc-manipulated-prescription p {
    margin: 4px 0 0;
    color: var(--gerione-subtext, #52627A);
    font-size: 13px;
    font-weight: 750;
}

.gc-manipulated-prescription > header span,
.gc-manipulated-side-title span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--gerione-primary, #1E5D88);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.gc-manipulated-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 10px;
}

.gc-manipulated-toolbar input,
.gc-manipulated-basket-item input,
.gc-manipulated-basket-item textarea {
    width: 100%;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 12px;
    background: var(--gerione-card, #FFFFFF);
    color: var(--gerione-text, #17233B);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
}

.gc-manipulated-basket-item textarea {
    min-height: 74px;
    padding-top: 10px;
    resize: vertical;
}

.gc-manipulated-layout {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr) minmax(280px, .5fr);
    gap: 14px;
    align-items: start;
}

.gc-manipulated-filters,
.gc-manipulated-card,
.gc-manipulated-catalog-area {
    padding: 14px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 16px;
    background: var(--gerione-card, #FFFFFF);
}

.gc-manipulated-filters {
    display: grid;
    gap: 14px;
}

.gc-manipulated-filters.is-collapsed {
    display: none;
}

.gc-manipulated-chip-list,
.gc-manipulated-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.gc-manipulated-chip,
.gc-manipulated-tags span {
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 999px;
    background: var(--gerione-surface, #FFFFFF);
    color: var(--gerione-subtext, #52627A);
    font: inherit;
    font-size: 11px;
    font-weight: 900;
}

.gc-manipulated-chip {
    cursor: pointer;
}

.gc-manipulated-chip.active {
    border-color: color-mix(in srgb, var(--gerione-primary, #1E5D88) 38%, var(--gerione-border, #DCE5F0) 62%);
    background: var(--gerione-primary-soft, #E9F9F0);
    color: var(--gerione-primary-dark, #1E5D88);
}

.gc-manipulated-catalog {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
    margin-top: 12px;
    max-height: 560px;
    overflow: auto;
    padding-right: 4px;
}

.gc-manipulated-formula-card {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 16px;
    background: color-mix(in srgb, var(--gerione-surface, #FFFFFF) 88%, var(--gerione-primary-soft, #E9F9F0) 12%);
}

.gc-manipulated-formula-card h5 {
    margin: 0;
    color: var(--gerione-text, #17233B);
    font-size: 14px;
    font-weight: 950;
}

.gc-manipulated-card-actions,
.gc-manipulated-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.gc-manipulated-side {
    display: grid;
    gap: 14px;
}

.gc-manipulated-side-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.gc-manipulated-manual-card {
    background: color-mix(in srgb, var(--gerione-card, #FFFFFF) 88%, var(--gerione-primary-soft, #E9F9F0) 12%);
}

.gc-manipulated-manual-form {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.gc-manipulated-manual-form label {
    display: grid;
    gap: 5px;
    color: var(--gerione-text, #17233B);
    font-size: 12px;
    font-weight: 900;
}

.gc-manipulated-manual-form input,
.gc-manipulated-manual-form textarea {
    width: 100%;
    min-height: 40px;
    padding: 10px 12px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 12px;
    background: var(--gerione-card, #FFFFFF);
    color: var(--gerione-text, #17233B);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
}

.gc-manipulated-manual-form textarea {
    resize: vertical;
}

.gc-manipulated-manual-actions {
    display: grid;
    gap: 8px;
}

.gc-manipulated-saved-list {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.gc-manipulated-saved-item {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 14px;
    background: var(--gerione-surface, #FFFFFF);
}

.gc-manipulated-saved-item strong,
.gc-manipulated-saved-item small {
    display: block;
}

.gc-manipulated-saved-item small {
    margin-top: 4px;
    color: var(--gerione-subtext, #52627A);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
}

.gc-manipulated-saved-item p {
    margin: 0;
    color: var(--gerione-subtext, #52627A);
    font-size: 12px;
    font-weight: 750;
}

.gc-manipulated-saved-item p strong {
    display: inline;
    color: var(--gerione-text, #17233B);
}

.gc-manipulated-basket {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.gc-manipulated-basket-item {
    position: relative;
    display: grid;
    gap: 9px;
    padding: 12px 48px 12px 12px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 14px;
    background: var(--gerione-surface, #FFFFFF);
}

.gc-manipulated-basket-item strong,
.gc-manipulated-basket-item small {
    display: block;
}

.gc-manipulated-basket-item small {
    margin-top: 4px;
    color: var(--gerione-subtext, #52627A);
    font-size: 11px;
    font-weight: 750;
}

.gc-manipulated-basket-item .gc-prescription-remove {
    position: absolute;
    top: 10px;
    right: 10px;
}

.gc-manipulated-details {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.gc-manipulated-details div {
    display: grid;
    gap: 4px;
    padding: 10px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--gerione-primary-soft, #E9F9F0) 36%, var(--gerione-surface, #FFFFFF) 64%);
}

.gc-manipulated-details strong {
    color: var(--gerione-primary-dark, #1E5D88);
    font-size: 12px;
    font-weight: 950;
}

.gc-manipulated-details span {
    color: var(--gerione-text, #17233B);
    font-size: 13px;
    font-weight: 760;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .gc-manipulated-toolbar,
    .gc-manipulated-layout {
        grid-template-columns: 1fr;
    }

    .gc-manipulated-catalog {
        max-height: none;
    }
}

.gc-prescription-suspended header h3 {
    color: var(--gerione-primary-dark);
    font-size: 18px;
    margin: 0 0 4px;
}

.gc-prescription-suspended header p {
    color: #51627a;
    margin: 0;
}

.gc-suspended-med-list {
    display: grid;
    gap: 10px;
}

.gc-suspended-med-list article {
    align-items: center;
    background: #fff7f7;
    border: 1px solid #ffd6d6;
    border-radius: 14px;
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px;
}

.gc-suspended-med-list strong {
    color: #5c1d1d;
}

.gc-suspended-med-list span {
    color: #7a3a3a;
    font-size: 13px;
    grid-column: 1;
}

.gc-prescription-history-list article {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #E8EEF5;
    border-radius: 9px;
    background: #F8FAFC;
}

.gc-prescription-history-list article[hidden] {
    display: none !important;
}

.gc-prescription-history-list time {
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-prescription-history-list strong {
    overflow: hidden;
    color: #52627A;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-prescription-history-list div,
.gc-prescription-print-options > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-prescription-history-list button,
.gc-prescription-print-options label,
.gc-prescription-quickbar button,
.gc-prescription-quickbar input {
    min-height: 30px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
}

.gc-prescription-history-list button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    cursor: pointer;
}

.gc-prescription-print-options label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    background: #F8FAFC;
}

.gc-prescription-print-legend {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #E8EEF5;
}

.gc-prescription-print-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #52627A;
    font-size: 12px;
    font-weight: 800;
}

.gc-prescription-print-legend i {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    background: #DDF7EB;
}

.gc-prescription-print-legend span:nth-child(2) i {
    background: #FDE2E2;
}

.gc-prescription-print-legend span:nth-child(3) i {
    background: #FFE9C8;
}

.gc-prescription-print-legend span:nth-child(4) i {
    background: #DBEAFE;
}

.gc-prescription-print-legend span:nth-child(5) i {
    background: #EDE9FE;
}

.gc-prescription-print-legend span:nth-child(6) i {
    background: #DCFCE7;
}

.gc-prescription-print-options input {
    accent-color: #009B68;
}

.gc-prescription-meta label,
.gc-prescription-item label,
.gc-prescription-notes label {
    display: grid;
    gap: 6px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-prescription-meta input,
.gc-prescription-meta select,
.gc-prescription-item input,
.gc-prescription-item select,
.gc-prescription-notes textarea {
    width: 100%;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.gc-prescription-notes textarea {
    min-height: 88px;
    padding-top: 10px;
    resize: vertical;
}

.gc-prescription-suggestion-popup {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: 0;
    z-index: 50;
    display: grid;
    gap: 6px;
    max-height: 260px;
    overflow: auto;
    padding: 8px;
    border: 1px solid #cfe0ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(9, 47, 87, .16);
}

.gc-prescription-suggestion-popup button {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid #e2edf6;
    border-radius: 9px;
    background: #f8fafc;
    color: #17233B;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    text-align: left;
    cursor: pointer;
}

.gc-prescription-suggestion-popup button:hover,
.gc-prescription-suggestion-popup button:focus {
    border-color: #8bd8be;
    background: #ecfdf6;
    color: #006d4a;
}

.gc-prescription-history-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 12px;
}

.gc-prescription-history-pagination span {
    color: #52627A;
    font-size: 12px;
    font-weight: 900;
}

.gc-prescription-history-pagination button {
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #fff;
    color: #17233B;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-prescription-history-pagination button:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.gc-prescription-items header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.gc-prescription-items h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 900;
}

.gc-prescription-quickbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
}

.gc-prescription-quickbar button {
    padding: 0 9px;
    color: #009B68;
    cursor: pointer;
}

.gc-prescription-quickbar span {
    color: #52627A;
    font-size: 12px;
    font-weight: 900;
}

.gc-prescription-quickbar input {
    width: 58px;
    padding: 0 8px;
}

.gc-prescription-items header button {
    border-color: #B7E6D2;
    color: #009B68;
}

.gc-prescription-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) minmax(130px, 0.78fr) 68px 76px minmax(130px, 0.82fr) minmax(130px, 0.82fr) minmax(150px, 0.9fr) minmax(190px, 1fr) 40px;
    gap: 10px;
    padding: 14px 14px 14px 16px;
    border: 1px solid #E8EEF5;
    border-left: 6px solid #B7E6D2;
    border-radius: 10px;
    background: #F8FAFC;
}

.gc-prescription-item[data-print-group-tone="special"] {
    border-left-color: #FCA5A5;
    background: #FFF7F7;
}

.gc-prescription-item[data-print-group-tone="antibiotic"] {
    border-left-color: #FDBA74;
    background: #FFFBF3;
}

.gc-prescription-item[data-print-group-tone="continuous"] {
    border-left-color: #93C5FD;
    background: #F6FAFF;
}

.gc-prescription-item[data-print-group-tone="compound"] {
    border-left-color: #C4B5FD;
    background: #FAF8FF;
}

.gc-prescription-item[data-print-group-tone="popular"] {
    border-left-color: #22C55E;
    background: #F0FDF4;
}

.gc-prescription-item + .gc-prescription-item {
    margin-top: 10px;
}

.gc-prescription-item .wide {
    min-width: 0;
}

.gc-prescription-item label:nth-child(3) {
    min-width: 68px;
}

.gc-prescription-item label:nth-child(3) input {
    padding: 0 8px;
    text-align: center;
}

.gc-prescription-remove {
    align-self: end;
    width: 38px;
    height: 38px;
    border: 1px solid #FFD7D3;
    border-radius: 8px;
    background: #FFF5F4;
    color: #F04438;
    cursor: pointer;
}

.gc-prescription-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 12px;
    padding: 14px 16px;
    background: rgba(248, 250, 252, 0.98);
}

.gc-prescription-detail-actions {
    display: flex;
    gap: 10px;
}

.gc-prescription-detail-list {
    display: grid;
    gap: 10px;
}

.gc-prescription-detail-list article {
    padding: 14px;
    border: 1px solid #E8EEF5;
    border-radius: 10px;
    background: #F8FAFC;
}

.gc-prescription-detail-list h3 {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 900;
}

.gc-prescription-detail-list article > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-prescription-detail-list span {
    padding: 5px 9px;
    border-radius: 999px;
    background: #DDF7EB;
    color: #007F59;
    font-size: 12px;
    font-weight: 900;
}

.gc-prescription-detail-list p,
.gc-prescription-detail-notes p {
    margin: 10px 0 0;
    color: #52627A;
    font-size: 13px;
    font-weight: 700;
}

.gc-prescription-detail-notes h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 900;
}

.gc-preconsultation-form {
    display: grid;
    gap: 12px;
}

.gc-preconsultation-card,
.gc-preconsultation-summary {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-preconsultation-card h3 {
    margin: 0 0 12px;
    color: #101828;
    font-size: 16px;
    font-weight: 900;
}

.gc-preconsultation-grid {
    display: grid;
    gap: 10px;
}

.gc-preconsultation-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gc-preconsultation-grid.five {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gc-preconsultation-grid .wide {
    grid-column: 1 / -1;
}

.gc-preconsultation-grid label {
    display: grid;
    gap: 6px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-preconsultation-grid input,
.gc-preconsultation-grid select,
.gc-preconsultation-grid textarea {
    width: 100%;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.gc-preconsultation-grid textarea {
    min-height: 82px;
    padding-top: 10px;
    resize: vertical;
}

.gc-vital-with-context {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 140px;
    gap: 8px;
}

.gc-allergy-field {
    display: grid;
    gap: 8px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-allergy-registered {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    color: #50627A;
    font-weight: 800;
}

.gc-allergy-registered em {
    padding: 4px 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--gerione-theme-primary, #009B68) 12%, #FFFFFF);
    color: var(--gerione-theme-primary, #009B68);
    font-style: normal;
}

.gc-allergy-list {
    display: grid;
    gap: 8px;
}

.gc-allergy-list [data-gerione-allergy-items] {
    display: grid;
    gap: 8px;
}

.gc-allergy-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.gc-allergy-item input {
    width: 100%;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.gc-preconsultation-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #F0FBF6;
}

.gc-consultation-form .gc-preconsultation-summary {
    grid-row: 3;
}

.gc-preconsultation-summary > i {
    color: #009B68;
    font-size: 22px;
}

.gc-preconsultation-summary strong,
.gc-preconsultation-summary span {
    display: block;
}

.gc-preconsultation-summary strong {
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
}

.gc-preconsultation-summary span {
    margin-top: 3px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-preconsultation-decision {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 34px 20px;
    text-align: center;
}

.gc-preconsultation-decision > i {
    color: #F79009;
    font-size: 34px;
}

.gc-preconsultation-decision h2 {
    margin: 0;
    color: #101828;
    font-size: 22px;
    font-weight: 900;
}

.gc-preconsultation-decision p {
    max-width: 440px;
    margin: 0;
    color: #52627A;
    font-size: 14px;
    font-weight: 700;
}

.gc-preconsultation-decision div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 6px;
}

.gc-exam-request-form {
    display: grid;
    gap: 12px;
}

.gc-exam-template-box {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #D6F3E7;
    border-radius: 10px;
    background: #F0FBF6;
}

.gc-exam-template-box select,
.gc-exam-template-box input,
.gc-exam-search input,
.gc-exam-request-meta input,
.gc-exam-request-meta textarea {
    width: 100%;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #CFE0EE;
    border-radius: 6px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.gc-exam-template-box > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.gc-exam-template-box button {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #009B68;
    border-radius: 6px;
    background: #FFFFFF;
    color: #007F59;
    font-weight: 900;
    cursor: pointer;
}

.gc-exam-search label,
.gc-exam-request-meta label {
    display: grid;
    gap: 6px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-exam-category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 4px;
}

.gc-exam-category-tabs button {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #CFE0EE;
    border-right: 0;
    background: #F5F7FA;
    color: #52627A;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.gc-exam-category-tabs button:first-child {
    border-radius: 8px 0 0 8px;
}

.gc-exam-category-tabs button:last-child {
    border-right: 1px solid #CFE0EE;
    border-radius: 0 8px 8px 0;
}

.gc-exam-category-tabs button.active {
    border-color: #2FD59C;
    background: #62D6A6;
    color: #064E3B;
}

.gc-exam-checklist {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 28px;
    min-height: 320px;
    padding: 22px;
    border: 1px solid #2FD59C;
    border-radius: 8px;
    background: #FFFFFF;
}

.gc-exam-checklist label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    color: #26364F;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.gc-exam-checklist input {
    flex: 0 0 auto;
    margin-top: 2px;
    accent-color: #009B68;
}

.gc-exam-request-meta {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) 170px 260px;
    gap: 12px 16px;
    align-items: end;
    margin-top: 8px;
}

.gc-exam-request-meta .wide {
    grid-column: span 1;
}

.gc-exam-request-meta label:last-child {
    grid-column: 1 / -1;
}

.gc-exam-request-meta textarea {
    min-height: 76px;
    padding-top: 10px;
    resize: vertical;
}

.gc-exam-detail-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.gc-exam-detail-meta span,
.gc-exam-detail-list,
.gc-exam-detail-notes {
    padding: 16px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-exam-detail-meta strong {
    display: block;
    margin-bottom: 4px;
    color: #009B68;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.gc-exam-detail-list,
.gc-exam-detail-notes {
    margin-top: 12px;
}

.gc-exam-detail-list h3,
.gc-exam-detail-notes h3 {
    margin: 0 0 12px;
    color: #101828;
    font-size: 16px;
    font-weight: 900;
}

.gc-exam-detail-list ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-exam-detail-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    color: #26364F;
    font-size: 13px;
    font-weight: 800;
}

.gc-exam-detail-list i {
    color: #009B68;
    margin-top: 2px;
}

.gc-exam-detail-list li small {
    grid-column: 2 / -1;
    color: #54647E;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.gc-clinical-resource-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 14px 36px rgba(20, 36, 61, 0.08);
}

.gc-clinical-patient {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 16px;
}

.gc-clinical-patient-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 74px;
    width: 74px;
    height: 74px;
    overflow: hidden;
    border: 4px solid #E8F3FF;
    border-radius: 50%;
    background: linear-gradient(135deg, #0EA5A4, #0F766E);
    color: #FFFFFF;
    font-size: 34px;
    font-weight: 900;
}

.gc-clinical-patient-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-clinical-patient-main {
    min-width: 0;
}

.gc-clinical-patient-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.gc-clinical-patient-title h2 {
    overflow: hidden;
    margin: 0;
    color: #0B1220;
    font-size: 25px;
    line-height: 1.12;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-clinical-patient-title span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 7px;
    background: #DDF7EB;
    color: #007F59;
    font-size: 12px;
    font-weight: 900;
}

.gc-clinical-patient-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
}

.gc-clinical-patient-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #34445F;
    font-size: 12px;
    font-weight: 850;
}

.gc-clinical-patient-meta i {
    color: #64748B;
}

.gc-clinical-resource-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-clinical-resource-actions > span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
}

.gc-clinical-resource-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gerione-modal[data-gerione-view="exam-request-form"] .gerione-modal-content {
    overflow: hidden;
    width: min(1460px, 98vw);
    max-height: 96vh;
    padding: 14px;
}

.gerione-modal[data-gerione-view="exam-request-form"] .gerione-modal-body {
    height: calc(96vh - 28px);
    padding-top: 0;
}

.gc-exam-request-form,
.gc-exam-request-form form {
    min-height: 0;
}

.gc-exam-request-form form {
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    gap: 10px;
    height: calc(96vh - 28px);
}

.gc-exam-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.1fr) minmax(180px, 0.9fr) minmax(180px, 0.8fr) auto;
    gap: 8px;
    padding: 10px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #F8FAFC;
}

.gc-exam-toolbar select,
.gc-exam-toolbar input,
.gc-exam-toolbar button,
.gc-exam-custom-box input,
.gc-exam-custom-box button,
.gc-exam-request-meta input,
.gc-exam-request-meta textarea {
    width: 100%;
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid #CFE0EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.gc-exam-toolbar button,
.gc-exam-custom-box button {
    border-color: #B7E6D2;
    color: #009B68;
    font-weight: 900;
    cursor: pointer;
}

.gc-exam-view-tabs {
    display: flex;
    gap: 6px;
    min-height: 0;
}

.gc-exam-view-tabs button {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid #CFE0EE;
    border-radius: 8px;
    background: #F5F7FA;
    color: #52627A;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-exam-view-tabs button.active {
    border-color: #66D6A7;
    background: #DDF7EB;
    color: #007F59;
}

.gc-exam-view-panels {
    display: grid;
    min-height: 0;
}

.gc-exam-view-panel {
    display: none;
    min-height: 0;
    height: 100%;
}

.gc-exam-view-panel.is-active {
    display: grid;
}

.gc-exam-view-panel[data-gerione-exam-panel="request"] {
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
}

.gc-exam-view-panel[data-gerione-exam-panel="follow-up"] {
    grid-template-rows: minmax(0, 1fr);
}

.gc-exam-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 10px;
    min-height: 0;
}

.gc-exam-catalog-panel,
.gc-exam-side-panel {
    min-height: 0;
}

.gc-exam-side-panel {
    overflow-y: auto;
    padding-right: 2px;
}

.gc-exam-catalog-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-exam-category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    min-height: 0;
    margin: 0;
    padding: 10px 10px 8px;
    border-bottom: 1px solid #E8EEF5;
}

.gc-exam-category-tabs button {
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #CFE0EE;
    border-radius: 7px;
    background: #F5F7FA;
    color: #52627A;
    font-size: 11px;
    font-weight: 850;
}

.gc-exam-category-tabs button:first-child,
.gc-exam-category-tabs button:last-child {
    border-radius: 7px;
}

.gc-exam-category-tabs button.active {
    border-color: #66D6A7;
    background: #DDF7EB;
    color: #007F59;
}

.gc-exam-checklist {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
    gap: 8px 18px;
    min-height: 0;
    padding: 14px;
    border: 0;
    border-radius: 0;
    overflow: auto;
}

.gc-exam-checklist [hidden] {
    display: none !important;
}

.gc-exam-checklist label {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    min-width: 0;
    color: #26364F;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
}

.gc-image-exam-enhanced {
    grid-column: 1 / -1;
    display: grid;
    gap: 14px;
}

.gc-image-exam-quick {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 12px;
}

.gc-image-exam-quick article,
.gc-image-exam-groups details,
.gc-image-exam-presets details {
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 14px;
    background: color-mix(in srgb, var(--gerione-primary-soft, #E9F9F0) 30%, #FFFFFF 70%);
}

.gc-image-exam-quick article {
    padding: 12px;
}

.gc-image-exam-quick h4,
.gc-image-exam-presets summary,
.gc-image-exam-groups summary {
    color: var(--gerione-primary-dark, #1E5D88);
    font-size: 13px;
    font-weight: 950;
}

.gc-image-exam-quick h4 {
    margin: 0 0 8px;
}

.gc-image-exam-quick p {
    margin: -2px 0 8px;
    color: var(--gerione-subtext, #52627A);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
}

.gc-image-exam-favorites,
.gc-image-exam-presets details > div,
.gc-image-exam-groups details > div {
    display: grid;
    gap: 8px;
}

.gc-image-exam-presets {
    display: grid;
    gap: 8px;
}

.gc-image-exam-presets details {
    padding: 8px 10px;
    background: #FFFFFF;
}

.gc-image-exam-presets summary,
.gc-image-exam-groups summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
}

.gc-image-exam-presets details > div,
.gc-image-exam-groups details > div {
    margin-top: 10px;
}

.gc-image-exam-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gc-image-exam-groups details {
    padding: 12px;
}

.gc-image-exam-groups summary span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gc-image-exam-groups summary i {
    color: var(--gerione-primary, #0aa37f);
}

.gc-image-exam-groups summary em {
    display: inline-flex;
    min-width: 24px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--gerione-primary-soft, #E9F9F0);
    color: var(--gerione-primary, #0aa37f);
    font-size: 11px;
    font-style: normal;
    font-weight: 950;
}

.gc-exam-checklist label.gc-image-exam-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px 8px;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-exam-checklist label.gc-image-exam-option input {
    grid-row: 1 / 3;
    margin-top: 2px;
}

.gc-exam-checklist label.gc-image-exam-option span {
    color: #17233B;
    font-weight: 900;
    line-height: 1.25;
}

.gc-exam-checklist label.gc-image-exam-option em {
    color: var(--gerione-subtext, #52627A);
    font-size: 10px;
    font-style: normal;
    font-weight: 750;
    line-height: 1.25;
}

.gc-exam-checklist label.gc-image-exam-option small {
    grid-column: 2;
    color: #9A5B00;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
}

.gc-exam-checklist label.gc-image-exam-option:has(input:checked) {
    border-color: color-mix(in srgb, var(--gerione-primary, #0aa37f) 45%, #DCE5F0 55%);
    background: color-mix(in srgb, var(--gerione-primary-soft, #E9F9F0) 74%, #FFFFFF 26%);
}

.gc-exam-side-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
}

.gc-exam-custom-box,
.gc-exam-selected-box,
.gc-exam-request-meta {
    padding: 12px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-exam-custom-box label,
.gc-exam-request-meta label {
    display: grid;
    gap: 5px;
    color: #17233B;
    font-size: 11px;
    font-weight: 900;
}

.gc-exam-custom-box > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
    gap: 8px;
    margin-top: 7px;
}

.gc-exam-selected-box {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
}

.gc-exam-selected-box header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.gc-exam-selected-box h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 900;
}

.gc-exam-selected-box header span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    border-radius: 999px;
    background: #DDF7EB;
    color: #007F59;
    font-size: 12px;
    font-weight: 900;
}

.gc-exam-selected-list {
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 0;
    overflow: auto;
    max-height: 24vh;
    padding-right: 4px;
}

.gc-exam-selected-list span {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    max-width: 100%;
    min-height: 28px;
    padding: 8px 8px 6px;
    border-radius: 10px;
    background: #F0FBF6;
    color: #064E3B;
    font-size: 11px;
    font-weight: 850;
}

.gc-exam-selected-list span strong {
    display: block;
    line-height: 1.25;
}

.gc-exam-selected-list span small {
    display: block;
    max-width: 100%;
    color: #0F766E;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    word-break: break-word;
}

.gc-exam-selected-list button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #DDF7EB;
    color: #007F59;
    cursor: pointer;
}

.gc-exam-selected-list button[data-gerione-exam-action="edit-exam-justification"] {
    width: 20px;
    height: 20px;
}

.gc-exam-request-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 0;
}

.gc-exam-image-justifications {
    display: none !important;
}

.gc-exam-image-justifications[hidden] {
    display: none !important;
}

.gc-exam-image-justifications-header {
    display: grid;
    gap: 2px;
}

.gc-exam-image-justifications-header strong {
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-exam-image-justifications-header span {
    color: #54647E;
    font-size: 11px;
    line-height: 1.35;
}

.gc-exam-image-justification-item {
    display: grid;
    gap: 5px;
}

.gc-exam-image-justification-item span {
    color: #17233B;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.3;
}

.gc-exam-image-justification-item textarea {
    min-height: 70px;
    resize: vertical;
}

.gc-exam-image-justifications-body {
    display: grid;
    gap: 10px;
    min-height: 0;
    max-height: 100%;
    overflow: auto;
    padding-right: 4px;
}

.gc-exam-justification-popup {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(15, 23, 42, 0.42);
}

.gc-exam-justification-popup-card {
    width: min(520px, 100%);
    padding: 16px;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.gc-exam-justification-popup-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.gc-exam-justification-popup-card header strong {
    font-size: 14px;
    font-weight: 900;
}

.gc-exam-justification-popup-card p {
    margin: 0 0 10px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-exam-justification-popup-card textarea {
    width: 100%;
    min-height: 120px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #CFE0EE;
    border-radius: 10px;
    resize: vertical;
}

.gc-exam-justification-popup-card footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.gc-exam-request-meta label:nth-child(3),
.gc-exam-request-meta label:nth-child(4) {
    grid-column: 1 / -1;
}

.gc-exam-follow-up {
    display: grid;
    gap: 12px;
    padding: 12px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
    min-height: 0;
    height: 100%;
}

.gc-exam-follow-up header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.gc-exam-follow-up h3,
.gc-exam-detail-results h3 {
    margin: 0;
    color: #101828;
    font-size: 15px;
    font-weight: 900;
}

.gc-exam-follow-up p {
    margin: 4px 0 0;
    color: #54647E;
    font-size: 12px;
    line-height: 1.45;
}

.gc-exam-follow-up-list {
    display: grid;
    gap: 10px;
    min-height: 0;
    overflow: auto;
    padding-right: 4px;
}

.gc-exam-follow-up-item {
    padding: 12px;
    border: 1px solid #E4ECF5;
    border-radius: 8px;
    background: #F8FAFC;
}

.gc-exam-follow-up-item > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.gc-exam-follow-up-item-meta {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.gc-exam-follow-up-item > header strong {
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-exam-follow-up-item-meta span {
    color: #64748B;
    font-size: 11px;
    font-weight: 800;
}

.gc-exam-follow-up-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.gc-exam-follow-up-toggle.is-open {
    border-color: #66D6A7;
    background: #DDF7EB;
    color: #007F59;
}

.gc-exam-follow-up-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0 0;
    border-top: 1px dashed #DCE5F0;
}

.gc-exam-follow-up-summary span {
    color: #64748B;
    font-size: 11px;
    font-weight: 800;
}

.gc-exam-follow-up-summary strong {
    min-width: 0;
    color: #17233B;
    font-size: 11px;
    font-weight: 900;
    text-align: right;
}

.gc-exam-follow-up-fields {
    display: grid;
    gap: 8px;
}

.gc-exam-follow-up-fields[hidden] {
    display: none !important;
}

.gc-exam-follow-up-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 8px 14px;
    align-items: end;
    padding: 10px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 12px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 11px;
    font-weight: 900;
}

.gc-exam-follow-up-field span {
    grid-column: 1 / -1;
    line-height: 1.3;
}

.gc-exam-follow-up-field input {
    grid-column: 1;
    width: 100%;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 10px;
    background: #FFFFFF;
    color: var(--gerione-text, #17233B);
    font-size: 13px;
    font-weight: 750;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.gc-exam-follow-up-field input:focus {
    border-color: var(--gerione-primary, #0EA5A3);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gerione-primary, #0EA5A3) 14%, transparent);
}

.gc-exam-reference-text {
    grid-column: 1;
    color: var(--gerione-subtext, #52627A);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
}

.gc-exam-result-gauge {
    display: grid;
    grid-column: 2;
    grid-row: 2 / span 2;
    gap: 8px;
    align-self: stretch;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--gerione-border, #DCE5F0) 82%, var(--gerione-primary-soft, #E9F9F0) 18%);
    border-radius: 12px;
    background: color-mix(in srgb, var(--gerione-primary-soft, #E9F9F0) 18%, #FFFFFF 82%);
}

.gc-exam-result-gauge.is-unavailable {
    border-style: dashed;
    background: #FFFFFF;
}

.gc-exam-result-zones {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.gc-exam-result-zones span {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 999px;
    background: #FFFFFF;
    color: var(--gerione-subtext, #52627A);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.gc-exam-result-readout {
    display: grid;
    gap: 2px;
}

.gc-exam-result-readout small {
    color: var(--gerione-subtext, #52627A);
    font-size: 10px;
    font-weight: 750;
    line-height: 1.25;
}

.gc-exam-result-gauge[data-status="below"] [data-exam-result-zone="below"] {
    border-color: #F59E0B;
    background: color-mix(in srgb, #F59E0B 18%, #FFFFFF 82%);
    color: #9A5B00;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #F59E0B 22%, transparent);
}

.gc-exam-result-gauge[data-status="normal"] [data-exam-result-zone="normal"] {
    border-color: var(--gerione-primary, #0EA5A3);
    background: color-mix(in srgb, var(--gerione-primary-soft, #DDF7EB) 80%, #FFFFFF 20%);
    color: var(--gerione-primary-dark, #007F59);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gerione-primary, #0EA5A3) 22%, transparent);
}

.gc-exam-result-gauge[data-status="above"] [data-exam-result-zone="above"] {
    border-color: #EF4444;
    background: color-mix(in srgb, #EF4444 14%, #FFFFFF 86%);
    color: #B91C1C;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #EF4444 20%, transparent);
}

.gc-exam-result-gauge[data-status="pending"] .gc-exam-result-zones span,
.gc-exam-result-gauge[data-status="unavailable"] .gc-exam-result-zones span {
    color: color-mix(in srgb, var(--gerione-subtext, #52627A) 72%, #FFFFFF 28%);
}

.gc-exam-result-gauge[data-status="unavailable"] .gc-exam-result-zones {
    display: none;
}

.gc-exam-result-gauge strong {
    color: var(--gerione-text, #17233B);
    font-size: 11px;
    font-weight: 900;
}

.gc-exam-result-gauge[data-status="below"] strong {
    color: #9A5B00;
}

.gc-exam-result-gauge[data-status="above"] strong {
    color: #B91C1C;
}

.gc-exam-result-gauge[data-status="normal"] strong {
    color: var(--gerione-primary-dark, #007F59);
}

.gc-exam-result-gauge[data-status="pending"] strong {
    color: var(--gerione-subtext, #52627A);
}

.gc-exam-result-gauge[data-status="unavailable"] strong {
    color: var(--gerione-subtext, #52627A);
}

@media (max-width: 780px) {
    .gc-exam-follow-up-field {
        grid-template-columns: 1fr;
    }

    .gc-exam-reference-text,
    .gc-exam-result-gauge {
        grid-column: 1;
        grid-row: auto;
    }
}

.gc-exam-detail-results {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-exam-detail-results ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-exam-detail-results li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: #26364F;
    font-size: 13px;
    font-weight: 800;
}

.gc-exam-detail-results strong {
    color: #009B68;
}

.gc-exam-result-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.gc-exam-result-status.is-normal {
    background: color-mix(in srgb, var(--gerione-primary-soft, #DDF7EB) 82%, #FFFFFF 18%);
    color: var(--gerione-primary-dark, #007F59);
}

.gc-exam-result-status.is-below {
    background: color-mix(in srgb, #F59E0B 18%, #FFFFFF 82%);
    color: #9A5B00;
}

.gc-exam-result-status.is-above {
    background: color-mix(in srgb, #EF4444 14%, #FFFFFF 86%);
    color: #B91C1C;
}

.gc-exam-result-status.is-unavailable {
    background: #EEF3F8;
    color: var(--gerione-subtext, #52627A);
}

.gerione-modal[data-gerione-view="document-form"] .gerione-modal-content,
.gerione-modal[data-gerione-view="document-detail"] .gerione-modal-content {
    overflow: hidden;
    width: min(1320px, 98vw);
    max-height: 96vh;
    padding: 14px;
}

.gerione-modal[data-gerione-view="document-form"] .gerione-modal-body,
.gerione-modal[data-gerione-view="document-detail"] .gerione-modal-body {
    height: calc(96vh - 28px);
    padding-top: 0;
}

.gc-document-form,
.gc-document-form form,
.gc-document-detail {
    min-height: 0;
}

.gc-document-form form {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
    height: calc(96vh - 28px);
}

.gc-document-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 12px;
    min-height: 0;
}

.gc-document-editor-column {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
    min-height: 0;
}

.gc-document-toolbar,
.gc-document-template-row {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #F8FAFC;
}

.gc-document-toolbar {
    grid-template-columns: minmax(190px, 0.9fr) 150px minmax(220px, 1fr) minmax(220px, 1fr);
}

.gc-document-template-row {
    grid-template-columns: minmax(260px, 1fr) minmax(220px, 0.8fr) auto;
    align-items: end;
}

.gc-document-toolbar label,
.gc-document-template-row label {
    display: grid;
    gap: 5px;
    color: #17233B;
    font-size: 11px;
    font-weight: 900;
}

.gc-document-toolbar select,
.gc-document-toolbar input,
.gc-document-template-row select,
.gc-document-template-row input,
.gc-document-template-row button {
    width: 100%;
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid #CFE0EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.gc-document-template-row button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-color: #B7E6D2;
    color: #009B68;
    font-weight: 900;
    cursor: pointer;
}

.gc-richtext-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    overflow: hidden;
    background: #FFFFFF;
}

.gc-richtext-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 9px 10px;
    border-bottom: 1px solid #E8EEF5;
    background: #F8FAFC;
}

.gc-richtext-toolbar button {
    display: inline-flex;
    width: 34px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid #CFE0EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    cursor: pointer;
}

.gc-richtext-toolbar button:hover {
    border-color: #66D6A7;
    color: #009B68;
}

.gc-richtext-editor {
    min-height: 0;
    padding: 18px 20px;
    overflow: auto;
    color: #17233B;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    outline: none;
}

.gc-richtext-editor:focus {
    box-shadow: inset 0 0 0 2px rgba(0, 155, 104, 0.12);
}

.gc-richtext-editor p {
    margin: 0 0 12px;
}

.gc-richtext-editor ul,
.gc-richtext-editor ol {
    margin: 0 0 12px;
    padding-left: 24px;
}

.gc-document-history-sidebar {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    min-height: 0;
    padding: 12px;
    border: 1px solid #E4ECF5;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.gc-document-history-sidebar header h3 {
    margin: 0 0 4px;
    color: #17233B;
    font-size: 15px;
    font-weight: 900;
}

.gc-document-history-sidebar header p {
    margin: 0;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-document-history-list {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 0;
    overflow: auto;
}

.gc-document-history-list article {
    display: grid;
    gap: 6px;
    padding: 11px;
    border: 1px solid #DCE8F3;
    border-radius: 10px;
    background: #fff;
}

.gc-document-history-list time {
    color: var(--gc-care-green);
    font-size: 11px;
    font-weight: 900;
}

.gc-document-history-list strong {
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
}

.gc-document-history-list span {
    color: #52627A;
    font-size: 12px;
    font-weight: 750;
}

.gc-document-history-list div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.gc-document-history-list button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #fff;
    color: #17233B;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-document-history-list button:first-child {
    border-color: #B7E6D2;
    color: var(--gc-care-green, var(--gerione-primary));
}

.gc-document-detail {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 12px;
    height: calc(96vh - 28px);
}

.gc-document-detail-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.gc-document-detail-meta span,
.gc-document-paper {
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-document-detail-meta span {
    display: grid;
    gap: 4px;
    min-height: 58px;
    padding: 12px;
    color: #17233B;
    font-size: 13px;
    font-weight: 800;
}

.gc-document-detail-meta strong {
    color: #52627A;
    font-size: 11px;
    font-weight: 900;
}

.gc-document-paper {
    min-height: 0;
    padding: 22px;
    overflow: auto;
}

.gc-document-paper h3 {
    margin: 0 0 18px;
    color: #111827;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

.gc-document-paper div {
    color: #17233B;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}

.gc-referral-detail-paper h4 {
    margin: 22px 0 8px;
    color: #111827;
    font-size: 14px;
    font-weight: 900;
}

.gc-referral-detail-text {
    white-space: normal;
}

.gc-exam-request-meta textarea {
    min-height: 58px;
    padding-top: 9px;
    resize: none;
}

@media (max-width: 1100px) {
    .gc-prescription-meta,
    .gc-prescription-item,
    .gc-preconsultation-grid.three,
    .gc-preconsultation-grid.five,
    .gc-exam-checklist,
    .gc-exam-detail-list ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-exam-request-meta,
    .gc-exam-detail-meta {
        grid-template-columns: 1fr 1fr;
    }

    .gc-exam-workspace {
        grid-template-columns: minmax(0, 1fr) 360px;
    }

    .gc-prescription-remove {
        align-self: start;
    }
}

@media (max-width: 760px) {
    .gc-prescription-header,
    .gc-prescription-detail > header,
    .gc-clinical-resource-header,
    .gc-prescription-header-actions,
    .gc-prescription-detail-actions,
    .gc-clinical-resource-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .gerione-modal[data-gerione-view="exam-request-form"] .gerione-modal-content {
        overflow: auto;
    }

    .gerione-modal[data-gerione-view="exam-request-form"] .gerione-modal-body,
    .gc-exam-request-form form {
        height: auto;
    }

    .gc-exam-workspace,
    .gc-exam-toolbar {
        grid-template-columns: 1fr;
    }

    .gc-prescription-meta,
    .gc-prescription-item,
    .gc-preconsultation-grid.three,
    .gc-preconsultation-grid.five,
    .gc-exam-checklist,
    .gc-exam-request-meta,
    .gc-exam-detail-meta,
    .gc-exam-detail-list ul {
        grid-template-columns: 1fr;
    }

    .gc-exam-template-box > div {
        grid-template-columns: 1fr;
    }

    .gc-image-exam-quick,
    .gc-image-exam-groups {
        grid-template-columns: 1fr;
    }

    .gc-prescription-history-list article {
        grid-template-columns: 1fr;
    }
}

.gc-module-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.gc-module-header h1 {
    margin: 0;
    color: #0B1220;
    font-size: 26px;
    font-weight: 900;
}

.gc-module-header p {
    margin: 5px 0 0;
    color: #52627A;
    font-size: 14px;
    font-weight: 700;
}

.gc-module-header > span {
    padding: 10px 14px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
}

.gc-agenda-page,
.gc-settings-page {
    padding: 26px;
}

.gc-agenda-layout {
    display: grid;
    grid-template-columns: minmax(340px, 420px) minmax(0, 1fr);
    gap: 14px;
}

.gc-agenda-form,
.gc-agenda-day-list,
.gc-settings-grid section {
    padding: 18px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 12px 32px rgba(20, 36, 61, 0.06);
}

.gc-agenda-form h2,
.gc-agenda-day-list h2,
.gc-settings-grid h2 {
    margin: 0 0 14px;
    color: #101828;
    font-size: 17px;
    font-weight: 900;
}

.gc-agenda-form label,
.gc-settings-grid label,
.gc-professional-form label {
    display: grid;
    gap: 7px;
    margin-bottom: 12px;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-agenda-form input,
.gc-agenda-form select,
.gc-agenda-form textarea,
.gc-settings-grid input,
.gc-settings-grid textarea,
.gc-professional-form input,
.gc-professional-form textarea {
    width: 100%;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.gc-agenda-form textarea,
.gc-settings-grid textarea,
.gc-professional-form textarea {
    min-height: 88px;
    padding-top: 10px;
    resize: vertical;
}

.gc-agenda-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.gc-agenda-reminder {
    margin: 4px 0 14px;
    padding: 12px;
    border: 1px solid #B7E6D2;
    border-radius: 10px;
    background: #F0FBF6;
}

.gc-agenda-reminder label,
.gc-settings-grid label:has(input[type="checkbox"]) {
    display: flex;
    align-items: center;
    gap: 9px;
}

.gc-agenda-reminder input[type="checkbox"],
.gc-settings-grid input[type="checkbox"] {
    width: 16px;
    min-height: 16px;
    accent-color: #009B68;
}

.gc-agenda-reminder select {
    margin-top: 10px;
}

.gc-agenda-reminder p,
.gc-settings-grid p {
    margin: 8px 0 0;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-agenda-day-list header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.gc-agenda-day-list header span {
    padding: 5px 9px;
    border-radius: 999px;
    background: #DDF7EB;
    color: #007F59;
    font-size: 12px;
    font-weight: 900;
}

.gc-agenda-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #E8EEF5;
}

.gc-agenda-row:last-child {
    border-bottom: 0;
}

.gc-agenda-row time,
.gc-agenda-row strong,
.gc-agenda-row span {
    display: block;
}

.gc-agenda-row time {
    color: #009B68;
    font-size: 15px;
    font-weight: 900;
}

.gc-agenda-row time span,
.gc-agenda-row div span {
    margin-top: 3px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-agenda-row strong {
    color: #17233B;
    font-size: 14px;
    font-weight: 900;
}

.gc-agenda-row em {
    padding: 6px 10px;
    border-radius: 999px;
    background: #F1F5F9;
    color: #52627A;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

.gc-agenda-row em.enabled {
    background: #DDF7EB;
    color: #007F59;
}

.gc-agenda-to-attendance {
    margin: 0;
}

.gc-agenda-delete {
    margin: 0;
}

.gc-agenda-to-attendance button {
    white-space: nowrap;
}

.gc-agenda-delete button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #FECACA;
    border-radius: 10px;
    background: #FFF1F2;
    color: #B42318;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
    cursor: pointer;
}

.gc-agenda-delete button:hover {
    border-color: #FDA4AF;
    background: #FFE4E6;
}

.gc-empty-line {
    margin: 0;
    color: #52627A;
    font-size: 13px;
    font-weight: 700;
}

.gc-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gc-dashboard-customize-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.gc-dashboard-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 13px;
    font-weight: 800;
    color: #17233B;
}

.gc-dashboard-toggle input[type="checkbox"] {
    width: 16px;
    min-height: 16px;
    accent-color: #009B68;
}

.gc-identity-mode {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.gc-mode-chip {
    display: inline-flex;
    align-items: stretch;
    position: relative;
    cursor: pointer;
}

.gc-mode-chip input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.gc-mode-chip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 999px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 7px 18px rgba(15, 23, 42, 0.035);
}

.gc-mode-chip span i {
    color: #009B68;
    font-size: 14px;
}

.gc-mode-chip:has(input[type="radio"]:checked) span {
    border-color: #009B68;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    box-shadow: 0 0 0 2px rgba(0, 155, 104, 0.12);
}

.gc-identity-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.gc-identity-card {
    display: grid;
    gap: 10px;
    position: relative;
    min-height: 124px;
    padding: 14px;
    border: 1px solid #DCE5F0;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 7px 18px rgba(15, 23, 42, 0.035);
    cursor: pointer;
}

.gc-identity-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.gc-identity-card strong {
    color: #17233B;
    font-size: 13px;
    font-weight: 900;
}

.gc-identity-card:has(input[type="radio"]:checked) {
    border-color: #009B68;
    box-shadow: 0 0 0 2px rgba(0, 155, 104, 0.12), 0 10px 24px rgba(15, 23, 42, 0.06);
}

.gc-identity-preview {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
}

.gc-identity-preview i {
    display: block;
    min-height: 28px;
    border-radius: 8px;
}

.gc-settings-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.gc-settings-menu {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 12px 32px rgba(20, 36, 61, 0.06);
}

.gc-settings-menu button {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
}

.gc-settings-menu button i {
    width: 18px;
    color: #009B68;
    text-align: center;
}

.gc-settings-menu button.active {
    background: #E8F8F1;
    color: #007F59;
}

.gc-settings-content {
    min-width: 0;
}

.gc-settings-panel[hidden],
.gc-settings-grid[hidden] {
    display: none;
}

.gc-settings-grid section.wide,
.gc-settings-grid section:nth-of-type(3),
.gc-settings-grid footer {
    grid-column: 1 / -1;
}

.gc-settings-fields,
.gc-professional-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.gc-professional-form .full {
    grid-column: 1 / -1;
}

.gc-clinic-schedule-settings .gc-agenda-days,
.gc-clinic-schedule-settings .gc-agenda-settings-grid {
    margin-top: 14px;
}

.gc-professional-form select,
.gc-settings-grid select {
    width: 100%;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid #DCE5F0;
    border-radius: 12px;
    background: #FFFFFF;
    color: #17233B;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.gc-settings-panel-card,
.gc-professional-list {
    padding: 22px;
    border: 1px solid #E4ECF5;
    border-radius: 16px;
    background: #FFFFFF;
    box-shadow: 0 12px 32px rgba(20, 36, 61, 0.06);
}

.gc-professional-list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.gc-settings-panel-card h2,
.gc-professional-list h3 {
    margin: 0 0 10px;
    color: #101828;
    font-size: 17px;
    font-weight: 900;
}

.gc-settings-panel-card p {
    margin: 0 0 14px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-professional-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--gerione-border, #DCE5F0);
    border-radius: 16px;
    background: color-mix(in srgb, var(--gerione-surface, #FFFFFF) 88%, var(--gerione-muted, #F8FAFC) 12%);
}

.gc-professional-row:last-child {
    border-bottom: 1px solid var(--gerione-border, #DCE5F0);
}

.gc-professional-row strong,
.gc-professional-row span {
    display: block;
}

.gc-professional-row strong {
    color: #17233B;
    font-size: 14px;
    font-weight: 900;
}

.gc-professional-row span {
    margin-top: 3px;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-professional-row em,
.gc-professional-row small {
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

.gc-professional-row em {
    background: #DDF7EB;
    color: #007F59;
}

.gc-professional-row small {
    background: #FFF4E5;
    color: #B45309;
}

.gc-professional-mail-error {
    grid-column: 1 / -1;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #FECACA;
    border-radius: 10px;
    background: #FFF1F2;
    color: #B42318;
    font-size: 12px;
    font-weight: 800;
}

.gc-professional-password-form button {
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid var(--gc-care-border, #DCE5F0);
    border-radius: 999px;
    background: #FFFFFF;
    color: var(--gc-care-text, #17233B);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-professional-password-form button:hover {
    border-color: color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 34%, var(--gc-care-border) 66%);
    color: var(--gc-care-green);
}

.gc-professional-edit {
    justify-self: end;
}

.gc-professional-edit summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 34%, var(--gc-care-border) 66%);
    border-radius: 999px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-professional-edit[open] {
    grid-column: 1 / -1;
    justify-self: stretch;
}

.gc-professional-edit .gc-professional-form {
    margin-top: 14px;
    padding: 18px;
    border: 1px solid var(--gc-care-border, #DCE5F0);
    border-radius: 14px;
    background: color-mix(in srgb, var(--gc-care-card, #FFFFFF) 86%, var(--gc-care-green-soft, #EAFBF3) 14%);
}

.gc-access-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 14px 0;
}

.gc-access-flow span {
    padding: 10px 12px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #F8FAFC;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-access-flow i {
    color: #009B68;
}

.gc-save-toast {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 99999;
    transform: translate(-50%, -50%) scale(0.96);
    min-width: 230px;
    padding: 18px 28px;
    border: 1px solid #B7E6D2;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(20, 36, 61, 0.18);
    color: #009B68;
    font-size: 16px;
    font-weight: 900;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.gc-save-toast.show {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.gc-settings-logo-preview {
    display: block;
    max-width: 220px;
    max-height: 80px;
    margin-top: 12px;
    object-fit: contain;
}

.gc-logo-upload-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.gc-logo-upload-field label {
    margin-bottom: 0;
}

.gc-logo-upload-field .gerione-button {
    min-height: 40px;
    align-self: end;
    white-space: nowrap;
}

.gc-logo-upload-field [data-gerione-logo-url] {
    width: 100%;
}

@media (max-width: 1180px) {
    .gc-document-workspace {
        grid-template-columns: 1fr;
    }

    .gc-document-history-sidebar {
        max-height: 320px;
    }
}

.gc-print-color-panel {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-print-color-panel h3 {
    margin: 0;
    color: #101828;
    font-size: 15px;
    font-weight: 900;
}

.gc-prescription-item label {
    position: relative;
}

.gc-print-color-panel p {
    margin: 0;
    color: #52627A;
    font-size: 12px;
    font-weight: 700;
}

.gc-print-color-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: 8px;
}

.gc-print-color-swatch {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 7px 9px;
    border: 1px solid #DCE5F0;
    border-radius: 8px;
    background: #F8FAFC;
    cursor: pointer;
}

.gc-print-color-swatch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.gc-print-color-swatch span {
    width: 26px;
    height: 26px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 999px;
    background: var(--print-color);
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.44);
}

.gc-print-color-swatch em {
    color: #17233B;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
}

.gc-print-color-swatch:has(input:checked) {
    border-color: #009B68;
    background: #ECFDF5;
    box-shadow: 0 0 0 2px rgba(0, 155, 104, 0.12);
}

.gc-settings-grid code {
    display: inline-flex;
    margin-top: 12px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #F1F5F9;
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-settings-grid footer {
    display: flex;
    justify-content: flex-end;
}

.gc-scale-center,
.gc-scale-form,
.gc-scale-detail {
    color: #061833;
    --gc-scale-primary: var(--gerione-primary, var(--gc-care-green));
    --gc-scale-accent: var(--gerione-accent, var(--gc-care-green-2));
    --gc-scale-soft: var(--gerione-primary-soft, var(--gc-care-green-soft));
}

.gc-secondary-button,
.gc-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 8px;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-secondary-button {
    border: 1px solid #DCE5F0;
    background: #FFFFFF;
    color: #17233B;
}

.gc-primary-button {
    border: 1px solid var(--gerione-primary, var(--gc-care-green));
    background: var(--gerione-primary, var(--gc-care-green));
    color: #FFFFFF;
}

.gc-scale-center {
    padding: 28px 34px 34px;
}

.gc-scale-form,
.gc-scale-detail {
    padding: 26px 32px 34px;
}

.gerione-modal[data-gerione-view="scale-center"] .gc-clinical-resource-header {
    margin-right: 48px;
}

.gc-scale-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    align-items: start;
    gap: 24px;
    margin-top: 22px;
}

.gc-scale-main {
    min-width: 0;
}

.gc-scale-main-header,
.gc-scale-form-header,
.gc-scale-detail-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
    padding: 0 2px;
}

.gc-scale-main-header span,
.gc-scale-form-header span,
.gc-scale-detail-header span {
    color: var(--gc-scale-primary);
    font-size: 12px;
    font-weight: 900;
}

.gc-scale-main-header h2,
.gc-scale-form-header h2,
.gc-scale-detail-header h2 {
    margin: 4px 0 0;
    font-size: 24px;
}

.gc-scale-section-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gc-scale-section-card,
.gc-scale-history-sidebar,
.gc-scale-meta,
.gc-scale-previous,
.gc-scale-items,
.gc-scale-notes,
.gc-scale-result-summary,
.gc-scale-worsened,
.gc-scale-detail-items,
.gc-scale-detail-notes {
    border: 1px solid #E1EAF3;
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 12px 30px rgba(15, 35, 70, 0.045);
}

.gc-scale-section-card {
    padding: 18px;
}

.gc-scale-section-card h3,
.gc-scale-history-sidebar h3,
.gc-scale-worsened h3,
.gc-scale-detail-items h3,
.gc-scale-detail-notes h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    color: #061833;
    font-size: 14px;
    font-weight: 900;
}

.gc-scale-section-card h3 i {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
    background: var(--gc-scale-soft);
    color: var(--gc-scale-primary);
}

.gc-scale-section-card button {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px 12px;
    width: 100%;
    min-height: 62px;
    margin-top: 9px;
    padding: 12px 14px;
    border: 1px solid #E1EAF3;
    border-radius: 8px;
    background: #FFFFFF;
    color: #061833;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, background 0.16s ease;
}

.gc-scale-section-card button:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--gc-scale-primary) 38%, #E1EAF3 62%);
    background: color-mix(in srgb, var(--gc-scale-soft) 58%, #FFFFFF 42%);
    box-shadow: 0 10px 22px color-mix(in srgb, var(--gc-scale-primary) 10%, transparent);
}

.gc-scale-section-card button > i {
    display: inline-grid;
    grid-row: span 2;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 8px;
    background: var(--gc-scale-soft);
    color: var(--gc-scale-primary);
    font-size: 15px;
}

.gc-scale-section-card button strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-scale-section-card button em {
    align-self: start;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--gc-scale-soft);
    color: var(--gc-scale-primary);
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

.gc-scale-section-card button span {
    grid-column: 2 / -1;
    color: #52627A;
    font-size: 12px;
    line-height: 1.35;
}

.gc-scale-history-sidebar {
    position: sticky;
    top: 12px;
    max-height: calc(92vh - 120px);
    overflow: auto;
    padding: 16px;
}

.gc-scale-history-sidebar > header {
    margin-bottom: 14px;
}

.gc-scale-history-sidebar > header span {
    color: var(--gc-scale-primary);
    font-size: 11px;
    font-weight: 900;
}

.gc-scale-history-sidebar > header h3 {
    margin: 2px 0 0;
}

.gc-scale-history-sidebar p {
    margin: 0;
    color: #52627A;
}

.gc-scale-history-groups {
    display: grid;
    gap: 12px;
}

.gc-scale-history-group {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid #DCE8F3;
    border-radius: 12px;
    background: #FFFFFF;
}

.gc-scale-history-group > header,
.gc-scale-history-group footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.gc-scale-history-group > header strong {
    display: block;
    color: #061833;
    font-size: 13px;
    font-weight: 900;
}

.gc-scale-history-group > header span {
    display: block;
    margin-top: 2px;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
}

.gc-scale-history-group > header em {
    padding: 4px 8px;
    border-radius: 999px;
    background: #EEF4FF;
    color: #475467;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

.gc-scale-history-group.is-better > header em {
    background: #E8F8F0;
    color: var(--gc-care-green);
}

.gc-scale-history-group.is-worse > header em {
    background: #FEF3F2;
    color: #D92D20;
}

.gc-scale-history-chart {
    display: flex;
    align-items: end;
    gap: 7px;
    min-height: 74px;
    padding: 10px 8px 8px;
    border-radius: 10px;
    background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
    border: 1px solid #E8EEF5;
}

.gc-scale-history-bar {
    display: flex;
    align-items: end;
    justify-content: center;
    width: 100%;
    min-width: 14px;
    height: 58px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.gc-scale-history-bar span {
    display: block;
    width: 100%;
    min-height: 6px;
    height: var(--bar-height);
    border-radius: 999px 999px 3px 3px;
    background: var(--gc-scale-primary);
    opacity: .82;
}

.gc-scale-history-group.is-worse .gc-scale-history-bar:last-child span {
    background: #D92D20;
}

.gc-scale-history-group.is-better .gc-scale-history-bar:last-child span {
    background: #12B76A;
}

.gc-scale-history-group footer {
    justify-content: flex-end;
    color: #667085;
    font-size: 11px;
    font-weight: 900;
}

.gc-scale-history-group footer button {
    border: 0;
    background: transparent;
    color: var(--gc-scale-primary);
    font: inherit;
    cursor: pointer;
}

.gc-scale-history-compare-toggle {
    justify-self: start;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid #FFD3CA;
    border-radius: 999px;
    background: #FFF7F5;
    color: #B42318;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.gc-scale-history-compare-toggle[aria-expanded="true"] {
    background: #FEF3F2;
}

.gc-scale-history-worsened {
    display: grid;
    gap: 7px;
    padding: 9px 10px;
    border: 1px solid #FFD3CA;
    border-radius: 10px;
    background: #FFF7F5;
}

.gc-scale-history-worsened[hidden] {
    display: none;
}

.gc-scale-history-worsened > strong {
    color: #B42318;
    font-size: 11px;
    font-weight: 900;
}

.gc-scale-history-worsened ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-scale-history-worsened li {
    display: grid;
    gap: 2px;
    padding-left: 8px;
    border-left: 3px solid #D92D20;
}

.gc-scale-history-worsened li.is-better {
    border-left-color: #12B76A;
}

.gc-scale-history-worsened li span {
    color: #061833;
    font-size: 11px;
    font-weight: 900;
}

.gc-scale-history-worsened li em {
    color: #9A3412;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.gc-scale-history-worsened li.is-better em {
    color: var(--gc-care-green);
}

.gc-scale-history-worsened button {
    justify-self: start;
    border: 0;
    background: transparent;
    color: #B42318;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

/* Legacy history buttons kept for old markup safety. */
.gc-scale-history-list button {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 6px 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid #DCE8F3;
    border-radius: 8px;
    background: #FFFFFF;
    text-align: left;
    cursor: pointer;
}

.gc-scale-history-list span,
.gc-scale-history-list small {
    color: #52627A;
    font-size: 11px;
}

.gc-scale-history-list strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-scale-history-list em {
    color: var(--gc-scale-primary);
    font-style: normal;
    font-weight: 900;
}

.gc-scale-form form {
    display: grid;
    gap: 14px;
}

.gc-scale-meta {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 160px;
    gap: 12px;
    padding: 14px;
}

.gc-scale-meta label,
.gc-scale-notes {
    display: grid;
    gap: 6px;
}

.gc-scale-meta span,
.gc-scale-notes span {
    color: #17233B;
    font-size: 12px;
    font-weight: 900;
}

.gc-scale-meta input,
.gc-scale-notes textarea,
.gc-scale-item input[type="number"] {
    width: 100%;
    border: 1px solid #D6E1EC;
    border-radius: 8px;
    background: #FFFFFF;
    color: #061833;
    font-weight: 800;
}

.gc-scale-live-result {
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--gc-scale-primary) 34%, #D6E1EC 66%);
    border-radius: 8px;
    background: var(--gc-scale-soft);
}

.gc-scale-live-result strong {
    color: var(--gc-scale-primary);
    font-size: 22px;
}

.gc-scale-previous {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
}

.gc-scale-previous i {
    color: var(--gc-scale-primary);
}

.gc-scale-previous strong {
    display: block;
}

.gc-scale-previous span {
    color: #52627A;
    font-size: 12px;
}

.gc-scale-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-height: 46vh;
    overflow: auto;
    padding: 14px;
}

.gc-scale-item {
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid #E1EAF3;
    border-radius: 8px;
    background: #F8FBFD;
}

.gc-scale-item legend {
    padding: 0 4px;
    color: #061833;
    font-size: 13px;
    font-weight: 900;
}

.gc-scale-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.gc-scale-options label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    border: 1px solid #D6E1EC;
    border-radius: 999px;
    background: #FFFFFF;
    color: #17233B;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.gc-scale-options label:has(input:checked) {
    border-color: color-mix(in srgb, var(--gc-scale-primary) 42%, #D6E1EC 58%);
    background: var(--gc-scale-soft);
    color: var(--gc-scale-primary);
}

.gc-scale-fast-legend {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #E1EAF3;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 253, 0.98));
}

.gc-scale-fast-legend h3 {
    margin: 0 0 10px;
    color: #061833;
    font-size: 13px;
    font-weight: 900;
}

.gc-scale-fast-legend-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.gc-scale-fast-legend-item {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--gc-fast-option-border, #D6E1EC);
    border-left-width: 5px;
    border-radius: 12px;
    background: var(--gc-fast-option-bg, #F8FBFD);
    color: #061833;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
}

.gc-scale-fast-legend-item span {
    display: block;
    margin-top: 4px;
    color: #5B6D86;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

.gc-scale-form[data-scale-slug="fast"] .gc-scale-options label {
    border-left-width: 5px;
    background: var(--gc-fast-option-bg, #FFFFFF);
    border-color: var(--gc-fast-option-border, #D6E1EC);
    color: #17233B;
}

.gc-care-shell .gc-scale-form[data-scale-slug="fast"] .gc-scale-options label:has(input:checked),
.gerione-modal .gc-scale-form[data-scale-slug="fast"] .gc-scale-options label:has(input:checked) {
    background: var(--gc-fast-option-bg, #F8FBFD) !important;
    color: #061833 !important;
    border-color: var(--gc-fast-option-border, #D6E1EC) !important;
}

.gc-scale-notes {
    padding: 14px;
}

.gc-scale-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(248, 250, 252, 0.98);
}

.gc-scale-result-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
}

.gc-scale-result-summary article {
    padding: 12px;
    border-radius: 8px;
    background: #F8FBFD;
}

.gc-scale-result-summary span,
.gc-scale-detail-items span {
    display: block;
    color: #52627A;
    font-size: 12px;
    font-weight: 800;
}

.gc-scale-result-summary strong,
.gc-scale-detail-items strong {
    display: block;
    margin-top: 4px;
    color: #061833;
    font-size: 14px;
}

.gc-scale-worsened,
.gc-scale-detail-items,
.gc-scale-detail-notes {
    margin-top: 14px;
    padding: 14px;
}

.gc-scale-worsened h3 {
    color: #E6533C;
}

.gc-scale-worsened > div,
.gc-scale-detail-items > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.gc-scale-worsened article,
.gc-scale-detail-items article {
    padding: 10px 12px;
    border: 1px solid #E1EAF3;
    border-radius: 8px;
    background: #F8FBFD;
}

.gc-scale-worsened article {
    border-color: #FFD3CA;
    background: #FFF7F5;
}

.gc-scale-worsened article strong,
.gc-scale-worsened article span {
    display: block;
}

.gc-scale-worsened article span {
    margin-top: 4px;
    color: #9A3412;
    font-size: 12px;
    font-weight: 800;
}

.gc-scale-detail-notes p {
    margin: 0;
    color: #17233B;
}

.gerione-settings-section {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #E4ECF5;
    border-radius: 10px;
    background: #FFFFFF;
}

.gerione-settings-section h2 {
    margin-top: 0;
}

@media (max-width: 1320px) {
    .gc-scale-layout {
        grid-template-columns: 1fr;
    }

    .gc-scale-history-sidebar {
        position: static;
        max-height: none;
    }

    .gc-scale-section-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .gc-agenda-layout,
    .gc-settings-layout,
    .gc-settings-grid,
    .gc-settings-fields,
    .gc-professional-form,
    .gc-scale-history-list,
    .gc-scale-items,
    .gc-scale-worsened > div,
    .gc-scale-detail-items > div {
        grid-template-columns: 1fr;
    }

    .gc-identity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-identity-mode {
        gap: 8px;
    }
}

@media (max-width: 760px) {
    .gc-module-header,
    .gc-agenda-row {
        align-items: flex-start;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .gc-agenda-form-grid {
        grid-template-columns: 1fr;
    }

    .gc-professional-row {
        align-items: flex-start;
        grid-template-columns: 1fr;
    }

    .gc-scale-main-header,
    .gc-scale-form-header,
    .gc-scale-detail-header,
    .gc-scale-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-scale-meta,
    .gc-scale-section-grid,
    .gc-scale-result-summary {
        grid-template-columns: 1fr;
    }

    .gc-identity-grid {
        grid-template-columns: 1fr;
    }

    .gc-mode-chip {
        width: 100%;
    }

    .gc-mode-chip span {
        width: 100%;
        justify-content: center;
    }

.gerione-modal[data-gerione-view="scale-center"] .gc-clinical-resource-header {
        margin-right: 0;
    }
}

/* Theme accent normalization: keep clinical/status colors semantic, but make UI accents follow the selected theme. */
.gc-care-shell .gc-register-icon,
.gc-care-shell .gc-icon-button,
.gc-care-shell .gc-summary-list i,
.gc-care-shell .gc-link-action,
.gc-care-shell .gc-workspace-title p,
.gc-care-shell .gc-consultation-header p,
.gc-care-shell .gc-consultation-detail header p,
.gc-care-shell .gc-workspace-alerts i,
.gc-care-shell .gc-workspace-quick i,
.gc-care-shell .gc-workspace-timeline header button,
.gc-care-shell .gc-consultation-header button,
.gc-care-shell .gc-consultation-detail header button,
.gc-care-shell .gc-empty-state i,
.gc-care-shell .gc-timeline-event time,
.gc-care-shell .gc-timeline-event span,
.gc-care-shell .gc-exam-registry-list-meta strong,
.gc-care-shell .gc-prescription-header p,
.gc-care-shell .gc-prescription-detail > header p,
.gc-care-shell .gc-module-header p,
.gc-care-shell .gc-document-history-sidebar header p,
.gc-care-shell .gc-current-med-list button,
.gc-care-shell .gc-suspended-med-list button,
.gc-care-shell .gc-exam-request-header p,
.gc-care-shell .gc-exam-category-tabs button.active,
.gc-care-shell .gc-exam-view-tabs button.active,
.gc-care-shell .gc-document-history-list button:first-child,
.gc-care-shell .gc-document-form-header p,
.gc-care-shell .gc-scale-category i,
.gc-care-shell .gc-scale-card i,
.gc-care-shell .gc-scale-history-group footer button,
.gc-care-shell .gc-settings-menu button i,
.gc-care-shell .gc-settings-menu button.active,
.gc-care-shell .gc-mode-chip span i,
.gc-care-shell .gc-profile-card-link {
    color: var(--gc-care-green) !important;
}

.gc-care-shell .gc-photo-placeholder i,
.gc-care-shell .gc-summary-avatar i,
.gc-care-shell .gc-chip.success,
.gc-care-shell .gc-tip-card,
.gc-care-shell .gc-placeholder-section > i,
.gc-care-shell .gc-stat-card.green .gc-stat-icon,
.gc-care-shell .gc-appointment em,
.gc-care-shell .gc-attendance-patient-results button:hover,
.gc-care-shell .gc-attendance-add button,
.gc-care-shell .gc-attendance-item > button,
.gc-care-shell .gc-attendance-status button,
.gc-care-shell .gc-attendance-order button,
.gc-care-shell .gc-agenda-to-attendance button,
.gc-care-shell .gc-attendance-item > strong,
.gc-care-shell .gc-attendance-item.atendido em,
.gc-care-shell .gc-workspace-quick button.primary,
.gc-care-shell .gc-cadastros-sidebar button.active,
.gc-care-shell .gc-cadastros-tabs button.active,
.gc-care-shell .gc-exam-registry-chips span,
.gc-care-shell .gc-prescription-history-list footer button,
.gc-care-shell .gc-exam-selected-count,
.gc-care-shell .gc-document-type-badge,
.gc-care-shell .gc-scale-history-group .status,
.gc-care-shell .gc-settings-menu button.active,
.gc-care-shell .gc-mode-chip:has(input[type="radio"]:checked) span,
.gc-care-shell .gc-identity-card:has(input[type="radio"]:checked),
.gc-care-shell .gc-profile-age,
.gc-care-shell .gc-clinical-patient-title span {
    background: var(--gc-care-green-soft) !important;
}

.gc-care-shell .gc-attendance-patient-results button:hover,
.gc-care-shell .gc-attendance-add button,
.gc-care-shell .gc-attendance-item > button,
.gc-care-shell .gc-attendance-status button,
.gc-care-shell .gc-attendance-order button,
.gc-care-shell .gc-agenda-to-attendance button,
.gc-care-shell .gc-workspace-quick button.primary,
.gc-care-shell .gc-cadastros-sidebar button.active,
.gc-care-shell .gc-current-med-list button,
.gc-care-shell .gc-suspended-med-list button,
.gc-care-shell .gc-document-history-list button:first-child,
.gc-care-shell .gc-mode-chip:has(input[type="radio"]:checked) span,
.gc-care-shell .gc-identity-card:has(input[type="radio"]:checked) {
    border-color: color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%) !important;
}

.gc-care-shell .gc-patient-form .gc-progress-bar,
.gc-care-shell .gc-workspace-avatar,
.gc-care-shell .gc-prescription-patient-avatar,
.gc-care-shell .gc-exam-patient-avatar,
.gc-care-shell .gc-document-patient-avatar,
.gc-care-shell .gc-scale-patient-avatar,
.gc-care-shell .gc-clinical-patient-avatar,
.gc-care-shell .gc-consultation-patient-avatar,
.gc-care-shell .gc-doctor-avatar,
.gc-care-shell .gc-patient-avatar {
    background: linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2)) !important;
}

.gc-care-shell input[type="checkbox"],
.gc-care-shell input[type="radio"] {
    accent-color: var(--gc-care-green);
}

.gerione-modal .gc-workspace-title p,
.gerione-modal .gc-consultation-header p,
.gerione-modal .gc-consultation-detail header p,
.gerione-modal .gc-workspace-alerts i,
.gerione-modal .gc-workspace-quick i,
.gerione-modal .gc-workspace-timeline header button,
.gerione-modal .gc-consultation-header button,
.gerione-modal .gc-consultation-detail header button,
.gerione-modal .gc-empty-state i,
.gerione-modal .gc-timeline-event time,
.gerione-modal .gc-timeline-event span,
.gerione-modal .gc-prescription-header p,
.gerione-modal .gc-prescription-detail > header p,
.gerione-modal .gc-module-header p,
.gerione-modal .gc-document-history-sidebar header p,
.gerione-modal .gc-current-med-list button,
.gerione-modal .gc-suspended-med-list button,
.gerione-modal .gc-exam-category-tabs button.active,
.gerione-modal .gc-exam-view-tabs button.active,
.gerione-modal .gc-document-history-list button:first-child,
.gerione-modal .gc-scale-category i,
.gerione-modal .gc-scale-card i,
.gerione-modal .gc-scale-history-group footer button,
.gerione-modal .gc-profile-card-link {
    color: var(--gc-care-green) !important;
}

.gerione-modal .gc-workspace-quick button.primary,
.gerione-modal .gc-current-med-list button,
.gerione-modal .gc-suspended-med-list button,
.gerione-modal .gc-exam-category-tabs button.active,
.gerione-modal .gc-exam-view-tabs button.active,
.gerione-modal .gc-document-history-list button:first-child {
    border-color: color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%) !important;
}

.gerione-modal .gc-workspace-quick button.primary,
.gerione-modal .gc-exam-category-tabs button.active,
.gerione-modal .gc-exam-view-tabs button.active,
.gerione-modal .gc-exam-selected-count,
.gerione-modal .gc-document-type-badge,
.gerione-modal .gc-scale-history-group .status,
.gerione-modal .gc-profile-age,
.gerione-modal .gc-clinical-patient-title span {
    background: var(--gc-care-green-soft) !important;
}

.gc-care-shell .gc-clinical-patient-title span,
.gerione-modal .gc-clinical-patient-title span {
    color: var(--gc-care-green) !important;
}

.gerione-modal .gc-workspace-avatar,
.gerione-modal .gc-clinical-patient-avatar,
.gerione-modal .gc-consultation-patient-avatar {
    background: linear-gradient(135deg, var(--gc-care-green), var(--gc-care-green-2)) !important;
}

.gerione-modal input[type="checkbox"],
.gerione-modal input[type="radio"] {
    accent-color: var(--gc-care-green);
}

.gc-care-shell .gc-scale-center,
.gc-care-shell .gc-scale-form,
.gc-care-shell .gc-scale-detail,
.gerione-modal .gc-scale-center,
.gerione-modal .gc-scale-form,
.gerione-modal .gc-scale-detail {
    --gc-scale-primary: var(--gerione-primary, var(--gc-care-green));
    --gc-scale-accent: var(--gerione-accent, var(--gc-care-green-2));
    --gc-scale-soft: var(--gerione-primary-soft, var(--gc-care-green-soft));
}

.gc-care-shell .gc-scale-main-header span,
.gc-care-shell .gc-scale-form-header span,
.gc-care-shell .gc-scale-detail-header span,
.gc-care-shell .gc-scale-history-sidebar > header span,
.gc-care-shell .gc-scale-history-group footer button,
.gc-care-shell .gc-scale-history-list em,
.gc-care-shell .gc-scale-live-result strong,
.gc-care-shell .gc-scale-previous i,
.gerione-modal .gc-scale-main-header span,
.gerione-modal .gc-scale-form-header span,
.gerione-modal .gc-scale-detail-header span,
.gerione-modal .gc-scale-history-sidebar > header span,
.gerione-modal .gc-scale-history-group footer button,
.gerione-modal .gc-scale-history-list em,
.gerione-modal .gc-scale-live-result strong,
.gerione-modal .gc-scale-previous i {
    color: var(--gc-scale-primary) !important;
}

.gc-care-shell .gc-scale-section-card h3 i,
.gc-care-shell .gc-scale-section-card button > i,
.gc-care-shell .gc-scale-section-card button em,
.gc-care-shell .gc-scale-live-result,
.gc-care-shell .gc-scale-options label:has(input:checked),
.gerione-modal .gc-scale-section-card h3 i,
.gerione-modal .gc-scale-section-card button > i,
.gerione-modal .gc-scale-section-card button em,
.gerione-modal .gc-scale-live-result,
.gerione-modal .gc-scale-options label:has(input:checked) {
    background: var(--gc-scale-soft) !important;
    color: var(--gc-scale-primary) !important;
}

.gc-care-shell .gc-scale-live-result,
.gc-care-shell .gc-scale-options label:has(input:checked),
.gerione-modal .gc-scale-live-result,
.gerione-modal .gc-scale-options label:has(input:checked) {
    border-color: color-mix(in srgb, var(--gc-scale-primary) 38%, var(--gc-care-border, #D6E1EC) 62%) !important;
}

.gc-care-shell .gc-scale-history-bar span,
.gerione-modal .gc-scale-history-bar span {
    background: var(--gc-scale-primary) !important;
}

.gc-care-shell .gc-scale-history-group.is-worse .gc-scale-history-bar:last-child span,
.gerione-modal .gc-scale-history-group.is-worse .gc-scale-history-bar:last-child span {
    background: #D92D20 !important;
}

.gc-care-shell .gc-scale-history-group.is-better .gc-scale-history-bar:last-child span,
.gerione-modal .gc-scale-history-group.is-better .gc-scale-history-bar:last-child span {
    background: #12B76A !important;
}

.gc-care-shell .gc-scale-section-card button:hover,
.gerione-modal .gc-scale-section-card button:hover {
    border-color: color-mix(in srgb, var(--gc-scale-primary) 38%, var(--gc-care-border, #E1EAF3) 62%) !important;
    background: color-mix(in srgb, var(--gc-scale-soft) 58%, #FFFFFF 42%) !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--gc-scale-primary) 10%, transparent) !important;
}

.gc-care-shell .gc-scale-form input[type="checkbox"],
.gc-care-shell .gc-scale-form input[type="radio"],
.gerione-modal .gc-scale-form input[type="checkbox"],
.gerione-modal .gc-scale-form input[type="radio"] {
    accent-color: var(--gc-scale-primary) !important;
}

.gc-care-shell .gc-scale-form .gc-primary-button,
.gerione-modal .gc-scale-form .gc-primary-button {
    border-color: var(--gc-scale-primary) !important;
    background: var(--gc-scale-primary) !important;
    color: #FFFFFF !important;
}

.gerione-modal[data-gerione-view="referral-form"] .gerione-modal-content {
    overflow: hidden;
    width: min(1460px, 98vw);
    max-height: 96vh;
    padding: 14px;
}

.gerione-modal[data-gerione-view="referral-form"] .gerione-modal-body {
    height: calc(96vh - 28px);
    padding-top: 0;
}

.gc-referral-form form {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
    height: calc(96vh - 28px);
}

.gc-referral-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 12px;
    min-height: 0;
}

.gc-referral-main,
.gc-referral-history {
    min-height: 0;
    overflow: auto;
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    background: var(--gc-care-surface);
}

.gc-referral-main {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 12px;
    padding: 12px;
}

.gc-referral-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-referral-tabs button {
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid var(--gc-care-border);
    border-radius: 8px;
    background: var(--gc-care-soft);
    color: var(--gc-care-muted);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gc-referral-tabs button.active {
    border-color: color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%);
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
}

.gc-referral-panel {
    display: none;
}

.gc-referral-panel.is-active {
    display: block;
}

.gc-referral-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.gc-referral-options label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid var(--gc-care-border);
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 850;
}

.gc-referral-editor {
    display: grid;
    gap: 10px;
}

.gc-referral-meta {
    display: grid;
    grid-template-columns: 170px minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.gc-referral-editor label {
    display: grid;
    gap: 6px;
    color: var(--gc-care-text);
    font-size: 12px;
    font-weight: 900;
}

.gc-referral-editor input,
.gc-referral-editor textarea {
    width: 100%;
    min-height: 38px;
    padding: 9px 11px;
    border: 1px solid var(--gc-care-border);
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--gc-care-text);
    font: inherit;
    font-size: 13px;
}

.gc-referral-editor textarea {
    min-height: 150px;
    resize: vertical;
}

.gc-referral-summary-toggle {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-height: 38px;
}

.gc-referral-summary-toggle input {
    width: 16px;
    min-height: 16px;
}

.gc-referral-history {
    padding: 14px;
}

.gc-referral-history h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 900;
}

.gc-referral-history p {
    margin: 4px 0 12px;
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 700;
}

.gc-referral-history-list {
    display: grid;
    gap: 10px;
}

.gc-referral-history-list article {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid var(--gc-care-border);
    border-radius: 10px;
    background: #FFFFFF;
}

.gc-referral-history-list time {
    color: var(--gc-care-green);
    font-size: 12px;
    font-weight: 900;
}

.gc-referral-history-list strong {
    color: var(--gc-care-text);
    font-size: 13px;
    font-weight: 900;
}

.gc-referral-history-list span {
    color: var(--gc-care-muted);
    font-size: 12px;
    font-weight: 700;
}

.gc-referral-history-list footer {
    display: flex;
    gap: 8px;
    margin-top: 6px;
}

.gc-referral-history-list button {
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border) 66%);
    border-radius: 8px;
    background: var(--gc-care-green-soft);
    color: var(--gc-care-green);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gerione-modal[data-gerione-view="orientation-form"] .gerione-modal-content {
    overflow: hidden;
    width: min(1320px, 96vw);
    max-height: 94vh;
    padding: 14px;
}

.gerione-modal[data-gerione-view="orientation-form"] .gerione-modal-body {
    height: calc(94vh - 28px);
    padding-top: 0;
}

.gc-orientation-form {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 12px;
    height: calc(94vh - 28px);
}

.gc-orientation-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
}

.gc-orientation-sidebar,
.gc-orientation-editor {
    min-height: 0;
    overflow: auto;
    border: 1px solid var(--gc-care-border, #DCE5F0);
    border-radius: 12px;
    background: var(--gc-care-surface, #FFFFFF);
}

.gc-orientation-sidebar {
    display: grid;
    align-content: start;
    gap: 9px;
    padding: 14px;
}

.gc-orientation-sidebar h3 {
    margin: 0 0 4px;
    color: var(--gc-care-text, #061833);
    font-size: 14px;
    font-weight: 900;
}

.gc-orientation-sidebar button {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 8px 10px;
    border: 1px solid var(--gc-care-border, #DCE5F0);
    border-radius: 10px;
    background: #FFFFFF;
    color: var(--gc-care-text, #061833);
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
}

.gc-orientation-sidebar button i {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    background: var(--gerione-primary-soft, var(--gc-care-green-soft));
    color: var(--gerione-primary, var(--gc-care-green));
}

.gc-orientation-sidebar button.active,
.gc-orientation-sidebar button:hover {
    border-color: color-mix(in srgb, var(--gerione-primary, var(--gc-care-green)) 38%, var(--gc-care-border, #DCE5F0) 62%);
    background: color-mix(in srgb, var(--gerione-primary-soft, var(--gc-care-green-soft)) 58%, #FFFFFF 42%);
}

.gc-orientation-editor {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
}

.gc-orientation-meta {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 150px minmax(220px, .7fr);
    gap: 10px;
}

.gc-orientation-meta label {
    display: grid;
    gap: 6px;
    color: var(--gc-care-text, #061833);
    font-size: 12px;
    font-weight: 900;
}

.gc-orientation-meta input {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--gc-care-border, #DCE5F0);
    border-radius: 8px;
    background: #FFFFFF;
    color: var(--gc-care-text, #061833);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.gc-orientation-richtext {
    min-height: 0;
}

.gc-orientation-richtext .gc-richtext-editor {
    min-height: 420px;
}

.gerione-button.primary,
.gc-save-primary,
.gc-btn-primary {
    border-color: var(--gc-care-green) !important;
    background: linear-gradient(135deg, var(--gc-care-green-2), var(--gc-care-green)) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--gc-care-green) 22%, transparent) !important;
}

.gerione-subtab.active {
    border-color: color-mix(in srgb, var(--gc-care-green) 34%, var(--gc-care-border, var(--gerione-border)) 66%) !important;
    background: var(--gc-care-green-soft, var(--gerione-primary-soft)) !important;
    color: var(--gc-care-green, var(--gerione-primary)) !important;
}

.gerione-menu-item:hover {
    background: color-mix(in srgb, var(--gc-care-green) 8%, transparent) !important;
    color: var(--gc-care-green) !important;
}

.gc-agenda-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    margin: 0 0 14px;
    padding: 12px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 14px;
    background: var(--gc-care-card, #FFFFFF);
}

.gc-agenda-toolbar label {
    display: grid;
    gap: 5px;
    min-width: 180px;
    font-weight: 800;
    color: var(--gc-care-text, var(--gerione-text));
}

.gc-agenda-toolbar input,
.gc-agenda-toolbar select {
    height: 38px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 10px;
    padding: 0 10px;
    background: #FFFFFF;
    color: var(--gc-care-text, var(--gerione-text));
    font: inherit;
}

.gc-agenda-toolbar button,
.gc-agenda-toolbar a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 10px;
    background: #FFFFFF;
    color: var(--gc-care-text, var(--gerione-text));
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.gc-agenda-toolbar button.active {
    border-color: var(--gc-care-green, var(--gerione-primary));
    background: var(--gc-care-green, var(--gerione-primary));
    color: #FFFFFF;
}

.gc-agenda-board {
    min-width: 0;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 16px;
    background: var(--gc-care-card, #FFFFFF);
    overflow: hidden;
}

.gc-agenda-board > header {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--gc-care-border, var(--gerione-border));
}

.gc-agenda-board h2,
.gc-agenda-board p {
    margin: 0;
}

.gc-agenda-board p {
    color: var(--gc-care-muted, var(--gerione-muted));
    font-weight: 700;
}

.gc-care-shell .gc-aga-sidebar button.active,
.gerione-modal .gc-aga-sidebar button.active,
.gc-care-shell .gc-cadastros-sidebar button.active,
.gerione-modal .gc-cadastros-sidebar button.active,
.gc-care-shell .gc-cadastros-tabs button.active,
.gerione-modal .gc-cadastros-tabs button.active {
    border-color: color-mix(in srgb, var(--gerione-primary, var(--gc-care-green)) 34%, var(--gc-care-border, var(--gerione-border)) 66%) !important;
    background: var(--gerione-primary-soft, var(--gc-care-green-soft)) !important;
    color: var(--gerione-primary, var(--gc-care-green)) !important;
}

.gc-care-shell .gc-aga-sidebar button.active strong,
.gc-care-shell .gc-aga-sidebar button.active span,
.gerione-modal .gc-aga-sidebar button.active strong,
.gerione-modal .gc-aga-sidebar button.active span,
.gc-care-shell .gc-cadastros-sidebar button.active strong,
.gc-care-shell .gc-cadastros-sidebar button.active span,
.gerione-modal .gc-cadastros-sidebar button.active strong,
.gerione-modal .gc-cadastros-sidebar button.active span {
    color: var(--gerione-primary, var(--gc-care-green)) !important;
}

.gc-care-shell .gc-aga-section h4,
.gc-care-shell .gc-aga-section-header h4,
.gc-care-shell .gc-aga-functional-card h4,
.gerione-modal .gc-aga-section h4,
.gerione-modal .gc-aga-section-header h4,
.gerione-modal .gc-aga-functional-card h4 {
    color: var(--gc-care-text, var(--gerione-text)) !important;
}

.gc-care-shell .gc-aga-functional-card,
.gerione-modal .gc-aga-functional-card {
    background: linear-gradient(180deg, var(--gerione-primary-soft, var(--gc-care-green-soft)), var(--gc-care-surface, #FFFFFF) 58%) !important;
}

.gc-care-shell .gc-aga-scale-chooser summary,
.gerione-modal .gc-aga-scale-chooser summary {
    border-color: var(--gerione-accent, var(--gc-care-green-2)) !important;
    background: var(--gerione-primary-soft, var(--gc-care-green-soft)) !important;
    color: var(--gerione-primary, var(--gc-care-green)) !important;
}

.gc-agenda-nav {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.gc-agenda-nav a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 10px;
    color: var(--gc-care-text, var(--gerione-text));
    text-decoration: none;
    font-weight: 900;
}

.gc-agenda-grid {
    min-width: 760px;
    overflow-x: auto;
}

.gc-agenda-grid-head,
.gc-agenda-grid-row {
    display: grid;
    grid-template-columns: 72px repeat(var(--agenda-columns), minmax(170px, 1fr));
}

.gc-agenda-grid-head {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #F3F6FA;
}

.gc-agenda-grid-head span,
.gc-agenda-grid-head strong,
.gc-agenda-grid-row time,
.gc-agenda-slot {
    border-right: 1px solid var(--gc-care-border, var(--gerione-border));
    border-bottom: 1px solid var(--gc-care-border, var(--gerione-border));
}

.gc-agenda-grid-head strong,
.gc-agenda-grid-row time {
    padding: 10px;
}

.gc-agenda-grid-row time {
    background: #F3F6FA;
    color: var(--gc-care-text, var(--gerione-text));
    font-weight: 900;
}

.gc-agenda-slot {
    min-height: 58px;
    padding: 6px;
    background: linear-gradient(180deg, color-mix(in srgb, #FFFFFF 92%, var(--gc-care-green, var(--gerione-primary)) 8%), #FFFFFF);
}

.gc-agenda-slot.is-clickable {
    cursor: pointer;
    transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.gc-agenda-slot.is-clickable:hover {
    background: color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 11%, #FFFFFF);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 28%, transparent);
}

.gc-agenda-slot.is-clickable:active {
    transform: scale(.995);
}

.gc-agenda-slot.is-unavailable {
    background: repeating-linear-gradient(135deg, #ECEFF4 0 8px, #F6F7FA 8px 16px);
    color: var(--gc-care-muted, var(--gerione-muted));
}

.gc-agenda-slot-empty,
.gc-agenda-slot.is-unavailable > span {
    font-size: 11px;
    font-weight: 800;
}

.gc-agenda-event {
    display: grid;
    gap: 4px;
    padding: 8px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 14%, #FFFFFF);
    border: 1px solid color-mix(in srgb, var(--gc-care-green, var(--gerione-primary)) 35%, transparent);
}

.gc-agenda-event strong,
.gc-agenda-event span {
    display: block;
}

.gc-agenda-event span {
    color: var(--gc-care-muted, var(--gerione-muted));
    font-size: 12px;
    font-weight: 700;
}

.gc-agenda-event .gc-agenda-to-attendance button {
    min-height: 28px;
    padding: 0 8px;
    font-size: 11px;
}

.gc-agenda-event .gc-agenda-delete button {
    min-height: 28px;
    padding: 0 8px;
    font-size: 11px;
}

.gc-agenda-day-list {
    display: none;
}

.gc-agenda-settings {
    display: grid;
    gap: 14px;
}

.gc-agenda-patient-search > span,
.gc-professional-availability-header h3,
.gc-professional-availability-header p {
    margin: 0;
}

.gc-professional-availability {
    margin-top: 18px;
}

.gc-professional-availability-header {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.gc-professional-availability-header p {
    color: var(--gc-care-muted, var(--gerione-muted));
    font-size: 12px;
    font-weight: 750;
}

.gc-professionals-cadastro {
    display: grid;
    gap: 20px;
    padding: 18px;
}

.gc-professionals-cadastro .gc-settings-panel-card,
.gc-professionals-cadastro .gc-professional-list,
.gc-professionals-cadastro .gc-professional-availability {
    border-color: var(--gerione-border, #DCE5F0);
    border-radius: 18px;
    box-shadow: 0 16px 40px rgba(20, 36, 61, 0.07);
}

.gc-professionals-cadastro .gc-settings-panel-card {
    margin: 0;
}

.gc-professionals-cadastro .gc-professional-form label {
    gap: 8px;
    margin: 0;
}

.gc-professionals-cadastro .gc-professional-form input,
.gc-professionals-cadastro .gc-professional-form select,
.gc-professionals-cadastro .gc-professional-form textarea {
    border-color: var(--gerione-border, #DCE5F0);
    border-radius: 12px;
    min-height: 44px;
    padding-left: 14px;
    padding-right: 14px;
}

.gc-professionals-cadastro .gc-professional-form textarea {
    min-height: 96px;
    padding-top: 12px;
}

.gc-professionals-cadastro .gc-professional-form footer {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    padding: 14px;
}

.gc-professionals-cadastro .gc-professional-row > div:first-child {
    min-width: 220px;
}

.gc-professionals-cadastro .gc-professional-password-form {
    margin: 0;
}

.gc-professionals-cadastro .gc-professional-edit summary,
.gc-professionals-cadastro .gc-professional-password-form button {
    min-height: 36px;
}

.gc-professionals-cadastro .gc-professional-availability {
    background: var(--gerione-surface, #FFFFFF);
    border: 1px solid var(--gerione-border, #DCE5F0);
    margin-top: 0;
    padding: 22px;
}

.gc-professionals-cadastro .gc-professional-availability-header {
    margin-bottom: 4px;
}

.gc-professionals-cadastro .gc-agenda-settings-card {
    padding: 18px;
}

.gc-agenda-settings-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 16px;
    background: var(--gc-care-card, #FFFFFF);
}

.gc-agenda-settings-card header {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.gc-agenda-settings-card h2,
.gc-agenda-settings-card p {
    margin: 0;
}

.gc-agenda-days,
.gc-agenda-settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px;
}

.gc-agenda-days label,
.gc-agenda-settings-card header label {
    display: flex;
    gap: 8px;
    align-items: center;
    font-weight: 900;
}

.gc-agenda-settings-grid label {
    display: grid;
    gap: 5px;
    font-weight: 900;
}

.gc-agenda-settings-grid input {
    height: 38px;
    border: 1px solid var(--gc-care-border, var(--gerione-border));
    border-radius: 10px;
    padding: 0 10px;
    background: #FFFFFF;
    color: var(--gc-care-text, var(--gerione-text));
    font: inherit;
}

@media (max-width: 980px) {
    .gc-agenda-grid {
        min-width: 620px;
    }
}
.gerione-modal[data-gerione-view="return-appointment-form"] .gerione-modal-content {
    width: min(1520px, calc(100vw - 28px));
    padding: 22px;
}

.gerione-modal[data-gerione-view="return-appointment-form"] .gerione-modal-body {
    padding: 8px 6px 0;
}

.gc-return-appointment {
    display: grid;
    gap: 18px;
    padding: 4px 10px 0;
}

.gc-return-appointment-form {
    display: grid;
    gap: 14px;
}

.gc-return-appointment .gc-clinical-header {
    align-items: flex-start;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--gc-care-border, var(--gerione-border, #d8e4f1));
    border-radius: 16px;
    background: var(--gerione-surface, #fff);
}

.gc-return-appointment .gc-clinical-header h1 {
    margin: 4px 0 8px;
}

.gc-return-appointment .gc-clinical-header p {
    margin: 0;
}

.gc-return-appointment .gc-clinical-header > button {
    margin-left: auto;
}

.gc-return-form-card {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gc-care-border, var(--gerione-border, #d8e4f1));
    border-radius: 16px;
    padding: 18px;
}

.gc-return-form-card h2 {
    margin: 0 0 12px;
}

.gc-return-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.gc-return-form-grid.compact {
    grid-template-columns: 1.1fr 1.4fr 1fr;
}

.gc-return-form-card label {
    display: grid;
    gap: 6px;
    align-content: start;
    color: var(--gc-care-text, var(--gerione-text, #10233f));
    font-size: 12px;
    font-weight: 900;
}

.gc-return-form-card input,
.gc-return-form-card select,
.gc-return-form-card textarea {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--gc-care-border, var(--gerione-border, #d8e4f1));
    border-radius: 10px;
    padding: 8px 11px;
    background: #fff;
    color: var(--gc-care-text, var(--gerione-text, #10233f));
    font: inherit;
}

.gc-return-form-card textarea {
    display: block;
    min-height: 76px;
    resize: vertical;
}

.gc-return-form-card .gc-readonly-field {
    min-height: 56px;
}

.gc-return-form-card .gc-agenda-reminder {
    margin: 14px 0;
}

.gc-return-agenda-board {
    max-height: 520px;
    overflow: auto;
}

.gc-return-week-grid {
    min-width: 1180px;
}

.gc-return-agenda-board .gc-agenda-slot.is-selected {
    outline: 3px solid var(--gc-care-primary, var(--gerione-primary, #009b68));
    outline-offset: -3px;
    background: color-mix(in srgb, var(--gc-care-primary, var(--gerione-primary, #009b68)) 16%, #ffffff);
}

.gc-return-agenda-board .gc-agenda-nav button {
    border: 1px solid var(--gc-care-border, var(--gerione-border, #d8e4f1));
    background: var(--gerione-surface, #fff);
    border-radius: 10px;
    padding: 8px 12px;
    font-weight: 800;
    cursor: pointer;
}

.gc-return-appointment .gc-sticky-actions {
    margin: 0 -10px;
    padding: 14px;
    border-radius: 14px;
}

@media (max-width: 900px) {
    .gc-return-form-grid,
    .gc-return-form-grid.compact {
        grid-template-columns: 1fr;
    }
}

/* Unified GeriOne section headers */
.gc-cadastros-page-header,
.gc-exam-registry-header,
.gc-simple-catalog-header,
.gc-price-header,
.gc-price-section > div:first-child,
.gc-prescription-history header,
.gc-prescription-current header,
.gc-prescription-print-options header,
.gc-document-history-sidebar header,
.gc-referral-history h3,
.gc-orientation-sidebar h3,
.gc-dashboard-card header,
.gc-scale-history-sidebar > header,
.gc-agenda-day-list header,
.gc-agenda-board > header,
.gc-agenda-settings-card > h2,
.gc-return-form-card > h2,
.gc-return-agenda-board > header,
.gc-finance-task-card > header,
.gc-finance-category-card > header,
.gc-finance-extract-card > header,
.gc-finance-control-card > header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--gerione-primary, #0aa37f) 13%, #fff), var(--gerione-surface, #fff)) !important;
    border-bottom: 1px solid var(--gerione-border, #d7e4f3) !important;
    border-radius: 16px 16px 0 0;
    color: var(--gerione-primary, #0aa37f) !important;
    margin: 0 !important;
    padding: 14px 18px !important;
}

.gc-cadastros-page-header h2,
.gc-exam-registry-header h2,
.gc-simple-catalog-header h2,
.gc-price-header h2,
.gc-price-section h2,
.gc-prescription-history h3,
.gc-prescription-current h3,
.gc-prescription-print-options h3,
.gc-document-history-sidebar header h3,
.gc-referral-history h3,
.gc-orientation-sidebar h3,
.gc-dashboard-card h2,
.gc-scale-history-sidebar > header h3,
.gc-agenda-day-list h2,
.gc-agenda-board h2,
.gc-agenda-settings-card > h2,
.gc-return-form-card > h2,
.gc-return-agenda-board h2,
.gc-finance-task-card > header,
.gc-finance-category-card > header,
.gc-finance-extract-card > header {
    color: var(--gerione-primary, #0aa37f) !important;
}

.gc-cadastros-page-header p,
.gc-exam-registry-header p,
.gc-simple-catalog-header p,
.gc-price-header p,
.gc-price-section p,
.gc-document-history-sidebar header p,
.gc-dashboard-card header p,
.gc-scale-history-sidebar > header span,
.gc-agenda-day-list header span {
    color: var(--gerione-subtext, #52627a) !important;
}

.gc-cadastros-page-panel,
.gc-exam-registry-list,
.gc-exam-registry-form-panel,
.gc-price-section,
.gc-prescription-meta,
.gc-prescription-notes,
.gc-prescription-items,
.gc-prescription-history,
.gc-prescription-current,
.gc-prescription-print-options,
.gc-document-editor-column,
.gc-document-history-sidebar,
.gc-referral-main,
.gc-referral-history,
.gc-orientation-sidebar,
.gc-orientation-editor,
.gc-dashboard-card,
.gc-attendance-card,
.gc-stat-card,
.gc-scale-section-card,
.gc-scale-history-sidebar,
.gc-aga-section,
.gc-aga-functional-card,
.gc-physical-panel,
.gc-profile-actions-card,
.gc-profile-card,
.gc-preconsultation-card,
.gc-preconsultation-summary,
.gc-agenda-form,
.gc-agenda-day-list,
.gc-settings-grid section,
.gc-settings-panel-card,
.gc-agenda-settings-card,
.gc-agenda-board,
.gc-return-form-card,
.gc-finance-task-card,
.gc-finance-category-card,
.gc-finance-extract-card,
.gc-finance-control-card {
    background: var(--gerione-surface, #fff) !important;
    border: 1px solid var(--gerione-border, #d7e4f3) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06) !important;
}

.gc-agenda-form > h2,
.gc-settings-grid section > h2,
.gc-settings-panel-card > h2,
.gc-profile-actions-card > h3,
.gc-profile-card > h3,
.gc-preconsultation-card > h3,
.gc-scale-section-card > h3,
.gc-aga-section > h4,
.gc-aga-section-header,
.gc-aga-functional-card > header,
.gc-physical-panel > h3,
.gc-document-paper > h3,
.gc-referral-panel > h3,
.gc-orientation-editor > h3 {
    background: linear-gradient(135deg, color-mix(in srgb, var(--gerione-primary, #0aa37f) 13%, #fff), var(--gerione-surface, #fff));
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
    color: var(--gerione-primary, #0aa37f) !important;
    margin: -18px -18px 16px !important;
    padding: 14px 18px !important;
}

.gc-scale-section-card > h3,
.gc-aga-functional-card > header {
    margin: -18px -18px 14px !important;
}

.gc-profile-card > h3 {
    margin: -18px -18px 14px !important;
}

.gc-preconsultation-card > h3 {
    margin: -18px -18px 16px !important;
}

.gc-aga-section h4,
.gc-aga-section-header h4,
.gc-aga-functional-card h4,
.gc-scale-section-card h3,
.gc-profile-card h3,
.gc-profile-card-link,
.gc-document-history-list button:first-child,
.gc-referral-history-list button,
.gc-orientation-sidebar button i,
.gc-scale-section-card button > i,
.gc-scale-history-sidebar > header span {
    color: var(--gerione-primary, #0aa37f) !important;
}

.gc-scale-section-card h3 i,
.gc-scale-section-card button > i,
.gc-aga-functional-card header i,
.gc-profile-card h3 em,
.gc-preconsultation-summary > i {
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 12%, #fff) !important;
    color: var(--gerione-primary, #0aa37f) !important;
}

.gc-scale-section-card button:hover,
.gc-aga-sidebar button.active,
.gc-orientation-sidebar button.active,
.gc-orientation-sidebar button:hover,
.gc-referral-tabs button.active,
.gc-cadastros-tabs button.active {
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 12%, #fff) !important;
    border-color: color-mix(in srgb, var(--gerione-primary, #0aa37f) 38%, var(--gerione-border, #d7e4f3)) !important;
    color: var(--gerione-primary, #0aa37f) !important;
}

.gc-agenda-reminder,
.gc-return-form-card .gc-agenda-reminder,
.gc-finance-popup-panel > header {
    background: linear-gradient(135deg, color-mix(in srgb, var(--gerione-primary, #0aa37f) 12%, #fff), var(--gerione-surface, #fff)) !important;
    border-color: color-mix(in srgb, var(--gerione-primary, #0aa37f) 28%, var(--gerione-border, #d7e4f3)) !important;
}

.gc-cadastros-page-panel > .gc-cadastros-page-header,
.gc-price-section > div:first-child,
.gc-dashboard-card > header,
.gc-agenda-day-list > header,
.gc-document-history-sidebar > header,
.gc-scale-history-sidebar > header {
    margin: -18px -18px 18px !important;
}

.gc-referral-history > h3,
.gc-orientation-sidebar > h3,
.gc-agenda-settings-card > h2,
.gc-return-form-card > h2 {
    margin: -18px -18px 18px !important;
}

.gc-clinical-assistants {
    display: grid;
    gap: 18px;
}

.gc-assistant-layout {
    display: grid;
    grid-template-columns: minmax(420px, 0.9fr) minmax(460px, 1.1fr);
    gap: 18px;
    align-items: start;
}

.gc-assistant-catalog,
.gc-assistant-viewer {
    background: var(--gerione-surface, #fff);
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.gc-assistant-catalog > header,
.gc-assistant-viewer > header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--gerione-primary, #0aa37f) 12%, #fff), var(--gerione-surface, #fff));
    border-bottom: 1px solid var(--gerione-border, #d7e4f3);
}

.gc-assistant-catalog h2,
.gc-assistant-viewer h2 {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0;
    color: var(--gerione-text, #061637);
    font-size: 18px;
}

.gc-assistant-catalog h2 i {
    color: var(--gerione-primary, #0aa37f);
}

.gc-assistant-catalog header span,
.gc-assistant-viewer p,
.gc-assistant-empty span {
    color: var(--gerione-subtext, #52627a);
}

.gc-assistant-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
}

.gc-assistant-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    min-height: 76px;
    padding: 14px;
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 5%, var(--gerione-surface, #fff));
    border: 1px solid var(--gerione-border, #d7e4f3);
    border-radius: 14px;
    color: var(--gerione-text, #061637);
    cursor: pointer;
    text-align: left;
    transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.gc-assistant-card:hover,
.gc-assistant-card.active {
    border-color: color-mix(in srgb, var(--gerione-primary, #0aa37f) 56%, var(--gerione-border, #d7e4f3));
    box-shadow: 0 16px 34px color-mix(in srgb, var(--gerione-primary, #0aa37f) 16%, transparent);
    transform: translateY(-1px);
}

.gc-assistant-card > span {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 14%, #fff);
    color: var(--gerione-primary, #0aa37f);
}

.gc-assistant-card strong {
    font-size: 14px;
    line-height: 1.25;
}

.gc-assistant-card em {
    justify-self: end;
    padding: 5px 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 12%, #fff);
    color: var(--gerione-primary, #0aa37f);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.gc-assistant-viewer {
    position: sticky;
    top: 18px;
}

.gc-assistant-viewer > header a {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 10px 14px;
    border-radius: 12px;
    background: var(--gerione-primary, #0aa37f);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.gc-assistant-empty {
    display: grid;
    gap: 10px;
    place-items: center;
    min-height: 420px;
    padding: 34px;
    text-align: center;
}

.gc-assistant-empty i {
    display: inline-flex;
    width: 72px;
    height: 72px;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: color-mix(in srgb, var(--gerione-primary, #0aa37f) 12%, #fff);
    color: var(--gerione-primary, #0aa37f);
    font-size: 28px;
}

.gc-assistant-empty strong {
    color: var(--gerione-text, #061637);
    font-size: 18px;
}

.gc-assistant-viewer iframe {
    display: block;
    width: 100%;
    min-height: 78vh;
    border: 0;
    background: #fff;
}

.gc-assistant-viewer.is-cropped {
    overflow: hidden;
}

.gc-assistant-viewer.is-cropped iframe {
    width: calc(100% + 220px);
    transform: translateX(-220px);
    transform-origin: top left;
}

@media (max-width: 1280px) {
    .gc-assistant-layout {
        grid-template-columns: 1fr;
    }

    .gc-assistant-viewer {
        position: static;
    }
}

@media (max-width: 760px) {
    .gc-assistant-grid {
        grid-template-columns: 1fr;
    }

    .gc-assistant-catalog > header,
    .gc-assistant-viewer > header {
        align-items: flex-start;
        flex-direction: column;
    }
}
