:root {
    --isw-puertas-ot:       #8E44AD;
    --isw-puertas-pre:      #3498db;
    --isw-puertas-med:      #1abc9c;
    --isw-puertas-st:       #e67e22;
    --isw-puertas-fac:      #e74c3c;
    --isw-puertas-cli:      #8e44ad;
    --isw-puertas-prod:     #16a085;
    --isw-puertas-dark:     #1a2744;
    --isw-puertas-toolbar:  #333333;
    --isw-puertas-toolbar-icon: #cccccc;
    --isw-puertas-bg:       #e8e8e8;
    --isw-puertas-border:   #999999;
    --isw-puertas-font:     'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --isw-puertas-row-odd:  #d4edda;
    --isw-puertas-row-even: #e8f5e9;
}

.isw-puertas-dashboard {
    display: grid;
    grid-template-columns: 300px 1fr 392px;
    grid-template-rows: auto 1fr auto;
    gap: 8px;
    padding: 8px;
    background: var(--isw-puertas-bg);
    font-family: var(--isw-puertas-font);
    font-size: 16px;
    height: calc(100vh - 60px);
    max-height: calc(100vh - 60px);
    box-sizing: border-box;
    overflow: hidden;
}

.isw-puertas-dashboard * { box-sizing: border-box; }

.isw-puertas-topbar {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--isw-puertas-dark);
    color: #fff;
    padding: 10px 16px;
    border-radius: 0;
}

.isw-puertas-topbar-title {
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}

.isw-puertas-topbar-date {
    background: rgba(255,255,255,0.12);
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 15px;
    margin-left: 6px;
    color: #fff;
}

.isw-puertas-topbar-spacer { flex: 1; }

.isw-puertas-topbar-icon {
    color: #ffffff !important;
    cursor: pointer;
    padding: 5px 9px;
    border-radius: 0;
    text-decoration: none;
    font-size: 18px;
    transition: background 0.2s;
    display: inline-flex;
    align-items: center;
}
.isw-puertas-topbar-icon:hover {
    background: rgba(255,255,255,0.2);
    color: #ffffff !important;
}
.isw-puertas-topbar-icon i { color: #ffffff !important; }

.isw-puertas-topbar-user { display:flex; align-items:center; gap:5px; color:#fff; font-size:14px; font-weight:600; opacity:0.9; }
.isw-puertas-topbar-user i { font-size:16px; }
.isw-puertas-topbar-sep { width:1px; height:18px; background:rgba(255,255,255,0.3); margin:0 6px; }

.isw-puertas-col-left,
.isw-puertas-col-center,
.isw-puertas-col-right {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
}

.isw-puertas-col-center {
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
}

.isw-puertas-section {
    background: #fff;
    border: 2px solid var(--isw-puertas-border);
    display: flex;
    flex-direction: column;
    min-height: 140px;
    overflow: hidden;
}

.isw-puertas-section-header {
    color: #fff;
    padding: 6px 12px;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--isw-puertas-border);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.isw-sh-ot   { background: var(--isw-puertas-ot); }
.isw-sh-pre  { background: var(--isw-puertas-pre); }
.isw-sh-med  { background: var(--isw-puertas-med); }
.isw-sh-st   { background: var(--isw-puertas-st); }
.isw-sh-fac  { background: var(--isw-puertas-fac); }
.isw-sh-cli  { background: var(--isw-puertas-cli); }
.isw-sh-prod { background: var(--isw-puertas-prod); }
.isw-sh-prov { background: #607d8b; }

.isw-puertas-toolbar {
    display: flex;
    align-items: center;
    background: var(--isw-puertas-toolbar);
    padding: 4px 8px;
    gap: 4px;
    flex-shrink: 0;
}

.isw-puertas-toolbar button {
    background: none;
    border: 1px solid #555;
    color: var(--isw-puertas-toolbar-icon);
    cursor: pointer;
    padding: 4px 10px;
    font-size: 16px;
    border-radius: 0;
    transition: all 0.15s;
    white-space: nowrap;
}
.isw-puertas-toolbar button:hover { background: #555; color: #fff; }

.isw-puertas-toolbar-spacer { flex: 1; }

.isw-puertas-search {
    background: #444;
    border: 1px solid #666;
    color: #eee;
    padding: 4px 8px;
    font-size: 15px;
    border-radius: 0;
    width: 140px;
    font-family: inherit;
}
.isw-puertas-search::placeholder { color: #999; }
.isw-puertas-search:focus { border-color: #aaa; outline: none; background: #3a3a3a; }

.isw-puertas-section-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.isw-puertas-gtable {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.isw-puertas-gtable thead {
    position: sticky;
    top: 0;
    z-index: 5;
}

.isw-puertas-gtable th {
    background: #f0f0f0;
    padding: 5px 8px;
    text-align: left;
    font-weight: 700;
    font-size: 14px;
    border-bottom: 2px solid var(--isw-puertas-border);
    text-transform: uppercase;
    white-space: nowrap;
}

.isw-puertas-gtable th.r, .isw-puertas-gtable td.r { text-align: right; }

.isw-puertas-gtable td {
    padding: 5px 8px;
    border-bottom: 1px solid #ddd;
    font-size: 15px;
}

.isw-puertas-gtable tbody tr:nth-child(odd)  td { background: var(--isw-puertas-row-odd); }
.isw-puertas-gtable tbody tr:nth-child(even) td { background: var(--isw-puertas-row-even); }
.isw-puertas-gtable tbody tr:hover           td { background: #c0d8f0 !important; cursor: pointer; }

.isw-puertas-empty {
    text-align: center;
    padding: 16px;
    color: #999;
    font-style: italic;
    font-size: 15px;
}

.isw-puertas-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 3px 8px;
    background: #f0f0f0;
    border-top: 1px solid #ddd;
    font-size: 14px;
    flex-shrink: 0;
    min-height: 26px;
}
.isw-puertas-pager button {
    background: none;
    border: 1px solid #ccc;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 0;
    font-size: 14px;
}
.isw-puertas-pager button:hover { background: #ddd; }

.isw-puertas-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 0;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}
.isw-estado-borrador  { background: #ffc107; color: #333; }
.isw-estado-validada  { background: #28a745; color: #fff; }
.isw-estado-validado  { background: #28a745; color: #fff; }
.isw-estado-facturado { background: #6c757d; color: #fff; }
.isw-estado-pagada    { background: #17a2b8; color: #fff; }
.isw-estado-pagado    { background: #17a2b8; color: #fff; }
.isw-estado-anulada   { background: #dc3545; color: #fff; }
.isw-estado-cerrada   { background: #198754; color: #fff; }
.isw-estado-cancelada { background: #dc3545; color: #fff; }

.isw-puertas-cal {
    background: #fff;
    border: 1px solid var(--isw-puertas-border);
    padding: 6px;
    flex-shrink: 0;
}

.isw-puertas-cal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    font-weight: 700;
    font-size: 16px;
}

.isw-puertas-cal-header button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    padding: 2px 6px;
    color: #333;
}
.isw-puertas-cal-header button:hover { background: #eee; }

.isw-puertas-cal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.isw-puertas-cal-table th {
    background: #f0f0f0;
    padding: 3px;
    text-align: center;
    font-weight: 700;
    font-size: 13px;
}
.isw-puertas-cal-table td {
    padding: 4px;
    text-align: center;
    border: 1px solid #ddd;
    cursor: pointer;
}
.isw-puertas-cal-table td:hover { background: #e0e8ff; }
.isw-puertas-cal-table td.isw-cal-today {
    background: var(--isw-puertas-pre) !important;
    color: #fff;
    font-weight: 700;
}
.isw-puertas-cal-table td.isw-cal-selected {
    background: var(--isw-puertas-ot) !important;
    color: #fff;
    font-weight: 700;
}
.isw-puertas-cal-table td.isw-cal-other { color: #ccc; }

.isw-puertas-shortcuts {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 4px;
    flex-shrink: 0;
}

.isw-puertas-shortcut {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    padding: 7px 8px;
    border-radius: 0;
    background: #fff;
    border: 2px solid #ddd;
    transition: all 0.18s;
    min-width: 56px;
    text-decoration: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}
.isw-puertas-shortcut:hover {
    border-color: var(--isw-puertas-dark);
    background: #eef2f8;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.isw-puertas-shortcut i    { font-size: 21px; margin-bottom: 4px; }
.isw-puertas-shortcut span { font-size: 12px; font-weight: 700; color: #555; text-transform: uppercase; letter-spacing: .03em; }

.isw-sc-pre  i { color: var(--isw-puertas-pre); }
.isw-sc-med  i { color: var(--isw-puertas-med); }
.isw-sc-st   i { color: var(--isw-puertas-st); }
.isw-sc-fac  i { color: var(--isw-puertas-fac); }
.isw-puertas-shortcut.isw-sc-active {
    border-color: var(--isw-puertas-dark);
    background: #eef2f8;
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.15);
}

.isw-puertas-sidebar-block {
    background: #fff;
    border: 2px solid var(--isw-puertas-border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex-shrink: 0;
}

.isw-puertas-sidebar-header {
    color: #fff;
    padding: 5px 10px;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.isw-sidebar-revisiones { background: #27ae60; }
.isw-sidebar-contratos  { background: #8e44ad; }

.isw-sidebar-toggle { cursor: pointer; }
.isw-sidebar-toggle:hover { filter: brightness(1.1); }
.isw-sidebar-chevron {
    margin-left: auto;
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    transition: transform 0.2s;
}
.isw-sidebar-collapsed .isw-sidebar-chevron { transform: rotate(180deg); }

.isw-puertas-sidebar-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    max-height: 200px;
    transition: max-height 0.25s ease;
}
.isw-sidebar-collapsed .isw-puertas-sidebar-body {
    max-height: 0;
    overflow: hidden;
}

.isw-sidebar-rev-item {
    padding: 5px 10px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.12s;
}
.isw-sidebar-rev-item:hover { background: #e8f5e9; }

.isw-sidebar-cto-item {
    padding: 5px 10px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.12s;
}
.isw-sidebar-cto-item:hover { background: #f3e5f5; }

.isw-puertas-cli-item {
    padding: 7px 12px;
    border-bottom: 1px solid #eeeeee;
    cursor: pointer;
    transition: background 0.12s;
}
.isw-puertas-cli-item:nth-child(odd)  { background: #fafafa; }
.isw-puertas-cli-item:nth-child(even) { background: #f0f0f0; }
.isw-puertas-cli-item:hover           { background: #e0e8ff; }

.isw-puertas-cli-nom  { font-size: 15px; color: #222; font-weight: 600; }
.isw-puertas-cli-meta { font-size: 13px; color: #777; margin-top: 2px; }

.isw-puertas-cli-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 8px;
    background: #f8f8f8;
    border-top: 1px solid #eee;
    font-size: 14px;
    color: #666;
    flex-shrink: 0;
}
.isw-puertas-cli-pager button {
    background: none;
    border: 1px solid #ccc;
    cursor: pointer;
    padding: 1px 6px;
    border-radius: 0;
    font-size: 14px;
    color: #555;
}
.isw-puertas-cli-pager button:hover { background: #eee; }

.isw-drag-handle {
    cursor: grab;
    color: rgba(255,255,255,0.5);
    font-size: 15px;
    padding-right: 6px;
    flex-shrink: 0;
    user-select: none;
}
.isw-drag-handle:hover { color: rgba(255,255,255,0.9); }
.isw-drag-handle:active { cursor: grabbing; }

.isw-section-actions {
    margin-left: auto;
    display: flex;
    gap: 4px;
    align-items: center;
    flex-shrink: 0;
}

.isw-section-btn {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    color: rgba(255,255,255,0.85);
    width: 24px;
    height: 24px;
    padding: 0;
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    transition: background .15s, color .15s, border-color .15s;
}
.isw-section-btn:hover {
    background: rgba(255,255,255,0.28);
    color: #fff;
    border-color: rgba(255,255,255,0.55);
}
.isw-section-btn-close:hover {
    background: var(--isw-puertas-fac);
    border-color: var(--isw-puertas-fac);
    color: #fff;
}

.isw-section-collapsible {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.isw-section-hidden { display: none !important; }

.isw-puertas-col-center.isw-has-expanded > .isw-puertas-section:not(.isw-section-expanded) {
    display: none !important;
}
.isw-puertas-section.isw-section-expanded {
    flex: 1 1 100% !important;
    height: 100% !important;
    min-height: 0;
}
.isw-puertas-section.isw-section-expanded .isw-section-btn-expand i::before {
    content: "\f422";
}

.isw-sort-ghost {
    opacity: 0.4;
    background: #c8d8f8 !important;
}

.isw-puertas-footer {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--isw-puertas-dark);
    color: #fff;
    padding: 0 16px;
    height: 56px;
    min-height: 56px;
    max-height: 56px;
    box-sizing: border-box;
    flex-shrink: 0;
}

.isw-footer-clock {
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    white-space: nowrap;
    min-width: 200px;
    font-variant-numeric: tabular-nums;
}

.isw-footer-sep {
    width: 1px;
    height: 24px;
    background: rgba(255,255,255,0.2);
    flex-shrink: 0;
}

.isw-footer-note-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.isw-footer-note-label {
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    white-space: nowrap;
    flex-shrink: 0;
}

.isw-footer-note-input {
    flex: 1;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff;
    padding: 4px 10px;
    font-size: 15px;
    font-family: inherit;
    border-radius: 0;
    min-width: 0;
    height: 30px;
    box-sizing: border-box;
}
.isw-footer-note-input::placeholder { color: rgba(255,255,255,0.3); }
.isw-footer-note-input:focus {
    outline: none;
    border-color: rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.12);
}

.isw-footer-note-btn {
    background: #fd7e14;
    color: #fff;
    border: none;
    padding: 4px 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    border-radius: 0;
    height: 30px;
    box-sizing: border-box;
}
.isw-footer-note-btn:hover { background: #e56b00; }

.isw-footer-counters {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.isw-footer-counter {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    white-space: nowrap;
    cursor: pointer;
    padding: 3px 7px;
    border-radius: 0;
    transition: background 0.15s;
}
.isw-footer-counter:hover { background: rgba(255,255,255,0.1); }
.isw-footer-counter .isw-fc-num {
    font-weight: 700;
    font-size: 15px;
    color: #fff;
}
.isw-footer-counter .isw-fc-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.isw-puertas-filter-cli {
    background: #444;
    border: 1px solid #666;
    color: #eee;
    padding: 4px 6px;
    font-size: 14px;
    border-radius: 0;
    font-family: inherit;
    max-width: 160px;
}
.isw-puertas-filter-cli:focus { border-color: #aaa; outline: none; background: #3a3a3a; }

.isw-puertas-date {
    background: #444; border: 1px solid #666; color: #eee;
    padding: 3px 5px; font-size: 13px; font-family: inherit;
    width: 118px; border-radius: 0;
}
.isw-puertas-date::-webkit-calendar-picker-indicator { filter: invert(.7); cursor: pointer; }
.isw-puertas-date:focus { border-color: #aaa; outline: none; }
.isw-date-sep { font-size: 12px; color: #888; padding: 0 1px; }

.isw-btn-excel {
    background: none;
    border: 1px solid #27ae60;
    color: #27ae60;
    cursor: pointer;
    padding: 4px 8px;
    font-size: 16px;
    border-radius: 0;
    transition: all 0.15s;
    flex-shrink: 0;
}
.isw-btn-excel:hover { background: #27ae60; color: #fff; }

.isw-btn-new {
    background: none;
    border: 1px solid #3498db;
    color: #3498db;
    cursor: pointer;
    padding: 4px 8px;
    font-size: 16px;
    border-radius: 0;
    transition: all 0.15s;
    flex-shrink: 0;
}
.isw-btn-new:hover { background: #3498db; color: #fff; }

.isw-btn-csv {
    background: none;
    border: 1px solid #888;
    color: #888;
    cursor: pointer;
    padding: 4px 8px;
    font-size: 14px;
    border-radius: 0;
    transition: all 0.15s;
    flex-shrink: 0;
}
.isw-btn-csv:hover { background: #888; color: #fff; }

.isw-btn-expand {
    background: none;
    border: 1px solid #888;
    color: #888;
    cursor: pointer;
    padding: 4px 8px;
    font-size: 14px;
    border-radius: 0;
    transition: all 0.15s;
    flex-shrink: 0;
}
.isw-btn-expand:hover { background: #888; color: #fff; }

.isw-puertas-toolbar-mini {
    padding: 3px 6px;
    gap: 3px;
}

.isw-puertas-section-body-mini {
    max-height: 320px;
}

.isw-color-ot  { color: var(--isw-puertas-ot); }
.isw-color-pre { color: var(--isw-puertas-pre); }
.isw-color-med { color: var(--isw-puertas-med); }
.isw-color-st  { color: var(--isw-puertas-st); }
.isw-color-fac { color: var(--isw-puertas-fac); }

.isw-puertas-msg {
    position: fixed;
    top: 50px;
    right: 20px;
    z-index: 10000;
    display: none;
}

.isw-chevron { margin-left: auto; }
.isw-section-toggle { cursor: pointer; }
.isw-section-toggle:hover { filter: brightness(1.1); }

@media (max-width: 1400px) {
    .isw-puertas-dashboard { grid-template-columns: 276px 1fr 336px; }
}

@media (max-width: 1100px) {
    .isw-puertas-dashboard { grid-template-columns: 240px 1fr 280px; }
}

@media (max-width: 960px) {
    .isw-puertas-dashboard { grid-template-columns: 1fr; }
    .isw-puertas-col-left  { display: none; }
    .isw-puertas-col-right { display: none; }
    .isw-puertas-topbar    { grid-column: 1; }
}

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #999; }

/* ===== AGENDA DEL DÍA ===== */
.isw-puertas-cal-table td { position: relative; }
.isw-ag-dots {
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 2px;
}
.isw-ag-dot {
    width: 5px;
    height: 5px;
    display: inline-block;
}
.isw-cal-today .isw-ag-dot,
.isw-cal-selected .isw-ag-dot { box-shadow: 0 0 0 1px #fff; }

.isw-ag-day-head {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    background: #f1f1f1;
    border-bottom: 1px solid #ddd;
    font-size: 12px;
    font-weight: 700;
    color: #333;
    text-transform: capitalize;
}
.isw-ag-day-head span { flex: 1; }
#isw-ag-btn-nuevo {
    background: #16a085;
    color: #fff;
    border: none;
    padding: 4px 9px;
    font-size: 12px;
    cursor: pointer;
}
#isw-ag-btn-nuevo:hover { background: #138a72; }

.isw-ag-item {
    padding: 6px 8px;
    border-bottom: 1px solid #eee;
    background: #fff;
    cursor: pointer;
}
.isw-ag-item:hover { background: #f7f7f7; }
.isw-ag-item-top {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 2px;
}
.isw-ag-hora {
    font-size: 11px;
    font-weight: 700;
    color: #333;
    background: #ecf0f1;
    padding: 1px 5px;
}
.isw-ag-tipo {
    font-size: 9px;
    font-weight: 700;
    color: #fff;
    padding: 1px 6px;
    text-transform: uppercase;
}
.isw-ag-ro { margin-left: auto; color: #aaa; font-size: 10px; }
.isw-ag-item-titulo {
    font-size: 13px;
    font-weight: 600;
    color: #2c3e50;
}
.isw-ag-item-sub {
    font-size: 11px;
    color: #888;
    margin-top: 1px;
}
.isw-ag-est-realizado .isw-ag-item-titulo { color: #27ae60; }
.isw-ag-est-realizado { opacity: .8; }
.isw-ag-est-cancelado .isw-ag-item-titulo {
    color: #999;
    text-decoration: line-through;
}
.isw-ag-est-cancelado { opacity: .65; }

/* ===== MODAL EVENTO AGENDA ===== */
.isw-ag-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,.45);
    z-index: 99990;
    align-items: center;
    justify-content: center;
}
.isw-ag-modal {
    background: #fff;
    width: 460px;
    max-width: 94vw;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 30px rgba(0,0,0,.3);
}
.isw-ag-modal-head {
    display: flex;
    align-items: center;
    height: 42px;
    padding: 0 14px;
    background: #16a085;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
}
.isw-ag-modal-head span { flex: 1; }
#isw-ag-modal-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    padding: 0 4px;
}
.isw-ag-modal-body {
    padding: 14px;
    overflow-y: auto;
}
.isw-ag-row { margin-bottom: 10px; }
.isw-ag-row-2 {
    display: flex;
    gap: 10px;
}
.isw-ag-row-2 > div { flex: 1; }
.isw-ag-row label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    margin-bottom: 3px;
}
.isw-ag-row input,
.isw-ag-row select,
.isw-ag-row textarea {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #ccc;
    font-size: 13px;
    font-family: inherit;
    box-sizing: border-box;
}
.isw-ag-row textarea { resize: vertical; }
.isw-ag-modal-foot {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid #ddd;
    background: #f7f7f7;
}
.isw-ag-btn-ok {
    background: #16a085;
    color: #fff;
    border: none;
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.isw-ag-btn-ok:hover { background: #138a72; }
.isw-ag-btn-sec {
    background: #e0e0e0;
    color: #333;
    border: none;
    padding: 7px 14px;
    font-size: 13px;
    cursor: pointer;
}
.isw-ag-btn-sec:hover { background: #ccc; }
.isw-ag-btn-del {
    background: #e74c3c;
    color: #fff;
    border: none;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.isw-ag-btn-del:hover { background: #c0392b; }
