.rfsc{
    --rf-bg:#f5f8fd;
    --rf-card:#ffffff;
    --rf-text:#1f2a37;
    --rf-muted:#6b7280;
    --rf-blue:#0019AC;
    --rf-blue2:#005BFF;
    --rf-green:#6BF498;
    --rf-border:#e6eaf2;
    --rf-radius:5px;

    color: var(--rf-text);
    font-family: Mulish, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    line-height: 1.55;
}

.rfsc-card{
    background: var(--rf-card);
    border: 1px solid var(--rf-border);
    border-radius: var(--rf-radius);
    padding: 18px;
    margin: 14px 0;
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
}

.rfsc-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
}
.rfsc h3, .rfsc h4{ margin:0 0 6px 0; }
.rfsc p{ margin:0; color: var(--rf-muted); }

.rfsc-brand{
    font-weight:700;
    color: var(--rf-blue);
    background: linear-gradient(90deg, rgba(0,91,255,.08), rgba(107,244,152,.12));
    border: 1px solid var(--rf-border);
    border-radius: var(--rf-radius);
    padding: 6px 10px;
    white-space:nowrap;
}

.rfsc-grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:12px;
    margin-top:12px;
}
@media (max-width: 900px){
    .rfsc-grid{ grid-template-columns: 1fr; }
}

.rfsc-field span{
    display:block;
    font-size: 15px;
    color: var(--rf-muted);
    margin-bottom:6px;
    font-weight: bold;
    line-height: 2;
}

.rfsc-inline{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.rfsc-field input,
.rfsc-field select{
    width:100%;
    border:1px solid var(--rf-border);
    border-radius: var(--rf-radius);
    padding:10px 11px;
    outline:none;
    background:#fff;
    color: var(--rf-text);
}
.rfsc-field input:focus,
.rfsc-field select:focus{
    border-color: rgba(0,91,255,.55);
    box-shadow: 0 0 0 3px rgba(0,91,255,.12);
}

.rfsc-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:14px;
    flex-wrap:wrap;
}

.rfsc-actions-right{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.rfsc-btn{
    appearance:none;
    border:0;
    border-radius: var(--rf-radius);
    padding: 10px 14px;
    cursor:pointer;
    background: linear-gradient(90deg, var(--rf-blue), var(--rf-blue2));
    color:#fff;
    font-weight:700;
}
.rfsc-btn:hover{ filter: brightness(1.03); }

.rfsc-btn-ghost{
    background:#fff;
    color: var(--rf-blue2);
    border:1px solid var(--rf-border);
}
.rfsc-btn-ghost:hover{
    box-shadow: 0 0 0 3px rgba(107,244,152,.18);
    border-color: rgba(107,244,152,.6);
    filter:none;
}

.rfsc-note{
    margin-top:10px;
    color: var(--rf-muted);
    font-size: 13px;
}

.rfsc-iconlink{
    display:inline-flex;
    justify-content:center;
    align-items: center;
    width:26px;
    height:26px;
    border-radius: 999px;
    border:1px solid var(--rf-border);
    text-decoration:none;
    color: var(--rf-blue2);
    background:#fff;
}
.rfsc-iconlink:hover{
    box-shadow: 0 0 0 3px rgba(107,244,152,.18);
    border-color: rgba(107,244,152,.6);
}

.rfsc-split{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:10px;
}

.rfsc-summary{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.rfsc-pill{
    border:1px solid var(--rf-border);
    border-radius: var(--rf-radius);
    padding: 6px 10px;
    background: var(--rf-bg);
    font-size: 13px;
    color: var(--rf-muted);
}
.rfsc-pill strong{ color: var(--rf-text); }

.rfsc-chart-wrap{
    border:1px solid var(--rf-border);
    border-radius: var(--rf-radius);
    padding: 10px;
    background: var(--rf-bg);
    min-height: 220px;
    height: 320px;
}

.rfsc-table-wrap{
    overflow:auto;
    border:1px solid var(--rf-border);
    border-radius: var(--rf-radius);
}

.rfsc-table{
    width:100%;
    border-collapse: collapse;
    min-width: 720px;
    background:#fff;
}
.rfsc-table th, .rfsc-table td{
    padding: 10px 12px;
    border-bottom:1px solid var(--rf-border);
    text-align:left;
    font-size: 13px;
}
.rfsc-table th{
    background: var(--rf-bg);
    color: var(--rf-muted);
    font-weight:700;
}

.rfsc-muted{ color: var(--rf-muted); }

.rfsc-footer{
    text-align:center;
    color: var(--rf-muted);
    margin-top: 10px;
    margin-bottom: 25px;
}

/* Toggle harmonogramu */
.rfsc-toggle{
    border:1px solid var(--rf-border);
    background:#fff;
    border-radius: var(--rf-radius);
    padding: 8px 10px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:8px;
    color: var(--rf-blue2);
    font-weight:700;
}
.rfsc-toggle:hover{
    box-shadow: 0 0 0 3px rgba(107,244,152,.18);
    border-color: rgba(107,244,152,.6);
}

.rfsc-schedule-note{
    margin: 0 0 10px 0;
    font-size: 13px;
}

.rfsc-collapsed{ display:none; }

.rfsc-chart-wrap canvas{
    width: 100% !important;
    height: 100% !important;
    display: block;
}
