﻿input[type=checkbox] {
    width: 1.2em;
    height: 1.2em;
    margin-top: -1px;
    margin-left: -1px;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    -webkit-appearance: auto;
    accent-color: #696cff;
}

.table-striped {
    border-color: lightsteelblue !important;
}

/* Modern clean theme inspired by provided image */
:root {
    --primary: #2f6be8;
    --primary-600: #2558d0;
    --muted: #6c757d;
    --bg: #f8f9fc;
    --card-bg: #ffffff;
    --radius: 12px;
    --input-border: #e7e9f2;
}

body {
    font-family: "Segoe UI", Roboto, -apple-system, "Helvetica Neue", Arial;
    color: #2b2b2b;
    background: #fafbff;
}

.page-title {
    font-weight: 700;
    font-size: 1.125rem;
    margin-bottom: .5rem;
}

.breadcrumb-sub {
    color: var(--muted);
    font-size: .9rem;
    margin-bottom: 1rem;
}

/* Info panel similar to screenshot */
.info-panel {
    background: linear-gradient(180deg, rgba(47, 107, 232, 0.06), rgba(47, 107, 232, 0.03));
    border: 1px solid rgba(47, 107, 232, 0.06);
    padding: 1rem 1.25rem;
    border-radius: 10px;
    margin-bottom: 1.25rem;
    color: #273449;
}

    .info-panel h6 {
        margin: 0 0 .5rem 0;
        color: var(--primary);
        font-weight: 700;
    }

    .info-panel ul {
        margin: 0;
        padding-left: 1.1rem;
        color: #475569;
        font-size: .95rem;
    }

/* Card and sections */
.card {
    background: var(--card-bg);
    border-radius: var(--radius);
    box-shadow: 0 6px 18px rgba(36, 50, 99, 0.06);
    border: none;
    overflow: hidden;
}

.card-header {
    padding: 1rem 1.25rem;
    background: transparent;
    border-bottom: 1px solid #eef2f8;
    margin-bottom: 5px;
}

.card-body {
    padding: 1.25rem;
}

.section {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 0.75rem 0;
    border-left: 4px solid #e6eefc;
    margin-bottom: .75rem;
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(47, 107, 232, 0.02), transparent);
}

    .section.green {
        border-left-color: #1abc9c;
        background: linear-gradient(180deg, rgba(26, 188, 156, 0.02), transparent);
    }

    .section .section-title {
        font-weight: 700;
        color: var(--primary-600);
        margin-bottom: .5rem;
    }

label.form-label {
    /* same intent as the utility classes above */
    color: rgb(55 65 81 / var(--tw-text-opacity, 1)); /* .text-gray-700 */
    font-weight: 600; /* .font-semibold */
    font-size: .875rem; /* .text-sm */
    line-height: 1.25rem;
    margin-bottom: .5rem; /* .mb-2 */
    text-transform: capitalize;
    display: inline-flex;
    align-items: center;
    gap: .35rem; /* gap between * and text */
    white-space: nowrap;
    margin-top: 20px;
}

label.form-label .text-danger {
    display: inline;
    margin: 0;
    color: #d9534f;
    font-weight: 700;
    font-size: 0.95rem;
}

.form-control {
    width: 100%;
    border: 1px solid var(--input-border);
    padding: .62rem .9rem;
    border-radius: 8px;
    background: #fff;
    font-size: .95rem;
    color: #222;
    box-shadow: none;
}

    .form-control:focus {
        outline: none;
        border-color: var(--primary);
        box-shadow: 0 6px 18px rgba(47, 107, 232, 0.06);
    }

.input-hint {
    font-size: .85rem;
    color: var(--muted);
    margin-top: .35rem;
}

.form-row {
    display: flex;
    gap: 1rem;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-12 {
    flex: 1 0 100%;
    max-width: 100%;
}

.btn {
    padding: .55rem .9rem;
    border-radius: 8px;
    font-weight: 600;
    border: none;
    cursor: pointer;
}

.btn-primary {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 6px 18px rgba(47, 107, 232, 0.12);
}

    .btn-primary:hover {
        background: var(--primary-600);
    }

.btn-secondary {
    background: #eef2f6;
    color: #374151;
}

.text-danger {
    color: #d9534f;
    font-size: .9rem;
    margin-top: .35rem;
    display: block;
}

/* Vertical label when checkbox */
.checkbox-inline {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-top: .25rem;
}

    .checkbox-inline input {
        width: 18px;
        height: 18px;
        margin: 0;
    }

/* Messages */
.alert {
    padding: .8rem 1rem;
    border-radius: 8px;
    font-weight: 600;
}

.alert-success {
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.08), rgba(34, 197, 94, 0.02));
    border: 1px solid rgba(34, 197, 94, 0.12);
    color: #0f5132;
}

.alert-danger {
    background: linear-gradient(90deg, rgba(220, 53, 69, 0.06), rgba(220, 53, 69, 0.02));
    border: 1px solid rgba(220, 53, 69, 0.08);
    color: #842029;
}

/* small responsive tweaks */
@media(max-width:900px) {
    .form-row {
        flex-direction: column;
    }

    .col-6 {
        max-width: 100%;
        flex-basis: 100%;
    }
}

/* Utility classes for input headers (as requested) */
.text-gray-700 {
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.font-semibold {
    font-weight: 600;
}
.text-sm {
    font-size: .875rem;
    line-height: 1.25rem;
}
.mb-2 {
    margin-bottom: .5rem;
}

/* Layout helpers to replace inline styles */
.container-padding { padding: 1rem; }
.grid-gap { display:flex; gap:1rem; }
.col-full { flex:1 0 100%; }

/* Card spacing with proper gap from header */
.card-title { font-size: 0.95rem; margin: 0; font-weight: 700; }
.card-body--spaced { 
    padding-top: 2.5rem; /* increased gap from card header */
    padding-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Form row - first row gets extra top margin for header spacing */
.form-row--mb:first-of-type {
    margin-top: 1rem;
    margin-bottom: 0.9rem;
}

.form-row--mb { 
    margin-bottom: 0.9rem; 
}

/* Right column gutter to match textarea spacing */
.col-right-gutter { padding-right: 0.75rem; }

/* Actions row spacing */
.action-row { display:flex; gap:.5rem; margin-top:10px; align-items:center; }

/* Muted text utility used in markup */
.muted-text { color: var(--muted); }

/* ensure checkbox row alignment without inline styles */
.form-row { align-items: center; }

/* Keep global box-sizing defaults (already present) */
*, :before, :after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
}