/* SDD Companies — frontend styles */

.sdd-co-dashboard,
.sdd-co-register-wrap {
    max-width: 900px;
    margin: 0 auto;
    font-family: inherit;
}

/* Card */
.sdd-co-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0,0,0,.07);
    padding: 2rem 2.2rem;
    margin-bottom: 1.5rem;
}

/* Notices */
.sdd-co-notice {
    padding: .9rem 1.2rem;
    border-radius: 10px;
    margin-bottom: 1.25rem;
    font-size: .95rem;
    line-height: 1.5;
}
.sdd-co-notice--success { background: #d4edda; color: #155724; }
.sdd-co-notice--warning { background: #fff3cd; color: #856404; }
.sdd-co-notice--error   { background: #f8d7da; color: #721c24; }
.sdd-co-notice--info    { background: #d1ecf1; color: #0c5460; }

/* Buttons */
.sdd-co-btn {
    display: inline-block;
    padding: 11px 22px;
    border-radius: 10px;
    font-weight: 700;
    font-size: .95rem;
    text-decoration: none;
    cursor: pointer;
    border: none;
    line-height: 1.2;
    transition: background .15s, color .15s, box-shadow .15s;
}
.sdd-co-btn--primary  { background: #2faa66; color: #fff; }
.sdd-co-btn--primary:hover { background: #27915a; color: #fff; }
.sdd-co-btn--outline  { background: #fff; color: #2faa66; border: 2px solid #2faa66; }
.sdd-co-btn--outline:hover { background: #2faa66; color: #fff; }
.sdd-co-btn--ghost    { background: #f5f5f5; color: #333; border: 1px solid #ddd; }
.sdd-co-btn--ghost:hover { background: #eee; }
.sdd-co-btn--danger   { background: #e74c3c; color: #fff; }
.sdd-co-btn--danger:hover { background: #c0392b; color: #fff; }
.sdd-co-btn--sm  { padding: 8px 16px; font-size: .88rem; }
.sdd-co-btn--xs  { padding: 5px 10px; font-size: .82rem; border-radius: 7px; }
.sdd-co-btn--full { width: 100%; text-align: center; }

/* Company header */
.sdd-co-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    background: #fff;
    border-radius: 14px;
    padding: 1.5rem 2rem;
    box-shadow: 0 4px 20px rgba(0,0,0,.07);
    margin-bottom: 1.5rem;
}
.sdd-co-header__logo img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.sdd-co-header__logo-placeholder { font-size: 3rem; line-height: 1; }
.sdd-co-header__info h2 { margin: 0 0 .3rem; font-size: 1.5rem; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.sdd-co-header__meta { margin: 0; color: #555; font-size: .92rem; line-height: 1.6; }
.sdd-co-header__meta a { color: #2faa66; text-decoration: none; }

/* Stats bar */
.sdd-co-stats-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}
@media (max-width: 640px) { .sdd-co-stats-bar { grid-template-columns: repeat(2, 1fr); } }
.sdd-co-stat {
    background: #fff;
    border-radius: 12px;
    padding: 1.1rem 1.2rem;
    box-shadow: 0 4px 16px rgba(0,0,0,.06);
    text-align: center;
}
.sdd-co-stat__value { display: block; font-size: 1.8rem; font-weight: 800; color: #2faa66; line-height: 1; margin-bottom: .3rem; }
.sdd-co-stat__value--plan { font-size: 1.3rem; }
.sdd-co-stat__label { font-size: .82rem; color: #888; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }

/* Tabs */
.sdd-co-tabs {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #eee;
    padding-bottom: 0;
}
.sdd-co-tab {
    background: none;
    border: none;
    padding: .7rem 1.2rem;
    font-size: .95rem;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    border-radius: 0;
    transition: color .15s, border-color .15s;
}
.sdd-co-tab:hover { color: #2faa66; }
.sdd-co-tab--active { color: #2faa66; border-bottom-color: #2faa66; }

.sdd-co-tab-panel { display: none; background: #fff; border-radius: 14px; padding: 1.75rem 2rem; box-shadow: 0 4px 20px rgba(0,0,0,.07); }
.sdd-co-tab-panel--active { display: block; }

/* Section header */
.sdd-co-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
}
.sdd-co-section-header h3 { margin: 0; }

/* Invite form */
.sdd-co-invite-form {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

/* Tables */
.sdd-co-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.sdd-co-table th { text-align: left; padding: .6rem .8rem; font-size: .8rem; font-weight: 700; color: #888; text-transform: uppercase; letter-spacing: .4px; border-bottom: 2px solid #eee; }
.sdd-co-table td { padding: .75rem .8rem; border-bottom: 1px solid #f0f0f0; vertical-align: middle; }
.sdd-co-table tr:last-child td { border-bottom: none; }
.sdd-co-avatar { border-radius: 50%; vertical-align: middle; margin-right: 6px; }

/* Badges */
.sdd-co-badge {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 20px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
}
.sdd-co-badge--owner    { background: #2faa66; color: #fff; }
.sdd-co-badge--manager  { background: #3498db; color: #fff; }
.sdd-co-badge--driver   { background: #f0f0f0; color: #555; }
.sdd-co-badge--you      { background: #eee; color: #666; }
.sdd-co-badge--active   { background: #d4edda; color: #155724; }
.sdd-co-badge--pending  { background: #fff3cd; color: #856404; }
.sdd-co-badge--suspended{ background: #f8d7da; color: #721c24; }

/* Form fields */
.sdd-co-field-group { margin-bottom: 1.1rem; }
.sdd-co-field-group label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .35rem; color: #333; }
.sdd-co-field-group input,
.sdd-co-field-group select,
.sdd-co-field-group textarea {
    width: 100%;
    padding: 10px 13px;
    border: 1.5px solid #ddd;
    border-radius: 9px;
    font-size: .95rem;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color .15s;
}
.sdd-co-field-group input:focus,
.sdd-co-field-group select:focus,
.sdd-co-field-group textarea:focus { border-color: #2faa66; outline: none; }
.sdd-co-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 560px) { .sdd-co-field-row { grid-template-columns: 1fr; } }

/* Ajax feedback */
.sdd-co-ajax-notice {
    padding: .6rem 1rem;
    border-radius: 8px;
    font-size: .9rem;
    margin-bottom: .75rem;
}
.sdd-co-ajax-notice--success { background: #d4edda; color: #155724; }
.sdd-co-ajax-notice--error   { background: #f8d7da; color: #721c24; }
