/* Workshop-manager flows: touch-first cards, state colors and sticky actions. */
.workshop-screen {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-bottom: calc(84px + var(--safe-area-bottom));
}

.workshop-hero {
    overflow: hidden;
    color: var(--vnta-on-hero);
    background: linear-gradient(135deg, var(--vnta-workshop-hero-start) 0%, var(--vnta-workshop-hero-mid) 55%, var(--vnta-workshop-hero-end) 100%);
    border: 0;
    box-shadow: 0 10px 26px var(--vnta-primary-shadow);
}

.workshop-hero__eyebrow,
.workshop-hero__detail {
    color: var(--vnta-on-hero-muted);
    font-size: var(--vnta-font-caption, 12px);
    line-height: var(--vnta-line-height-caption, 1.4);
}

.workshop-hero__title {
    margin-top: 4px;
    color: var(--vnta-on-hero);
    font-size: var(--vnta-font-title, 18px);
    font-weight: 700;
    line-height: var(--vnta-line-height-title, 1.3);
}

.workshop-hero__counts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--vnta-on-hero-divider);
}

.workshop-hero__count-label {
    color: var(--vnta-on-hero-subtle);
    font-size: var(--vnta-font-caption, 12px);
}

.workshop-hero__count-value {
    margin-top: 3px;
    color: var(--vnta-on-hero);
    font-size: var(--vnta-font-title, 18px);
    font-weight: 800;
}

.workshop-deadline {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 10px 13px;
    color: var(--vnta-orange-foreground);
    background: var(--vnta-orange-soft);
    border: 1px solid var(--vnta-orange-border);
    border-radius: var(--vnta-radius-md);
    font-size: var(--vnta-font-caption, 12px);
    font-weight: 700;
    line-height: var(--vnta-line-height-caption, 1.4);
    animation: workshopDeadlinePulse 2.4s ease-in-out infinite;
}

.workshop-quick-grid,
.workshop-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.workshop-quick-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.workshop-quick-action {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    min-height: 86px;
    padding: 13px;
    color: var(--vnta-text-main);
    background: var(--vnta-surface);
    border: 1px solid var(--vnta-border);
    border-radius: var(--vnta-radius-lg);
    box-shadow: var(--vnta-shadow-sm);
    text-decoration: none;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.workshop-quick-action__icon { font-size: 20px; }
.workshop-quick-action__label { font-size: var(--vnta-font-body, 14px); font-weight: 600; }

.workshop-section-title {
    margin: 2px 0 7px;
    color: var(--vnta-text-main);
    font-size: var(--vnta-font-subtitle, 16px);
    font-weight: 700;
    line-height: var(--vnta-line-height-subtitle, 1.35);
}

.workshop-section-head,
.workshop-row,
.workshop-card-head,
.workshop-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.workshop-meta {
    color: var(--vnta-text-muted);
    font-size: var(--vnta-font-caption, 12px);
    font-weight: 600;
}

.workshop-stat-card {
    min-height: 90px;
    padding: 13px;
}

.workshop-stat-card__label {
    color: var(--vnta-text-muted);
    font-size: var(--vnta-font-caption, 12px);
    font-weight: 600;
}

.workshop-stat-card__value {
    margin-top: 7px;
    color: var(--vnta-text-main);
    font-size: var(--vnta-font-title, 18px);
    font-weight: 800;
}

.workshop-status,
.workshop-team-count {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 9px;
    border-radius: var(--vnta-radius-full);
    font-size: var(--vnta-font-badge, 11px);
    font-weight: 700;
    white-space: nowrap;
}

.workshop-status--pending { color: var(--vnta-yellow-foreground); background: var(--vnta-warning-soft); }
.workshop-status--approved { color: var(--vnta-success-foreground); background: var(--vnta-success-soft); }
.workshop-status--rejected { color: var(--vnta-danger-foreground); background: var(--vnta-danger-soft); }
.workshop-status--draft { color: var(--vnta-blue-foreground); background: var(--vnta-blue-soft); }
.workshop-team-count { color: var(--vnta-primary); background: var(--vnta-primary-light); }

.workshop-filter-row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.workshop-filter-row::-webkit-scrollbar { display: none; }

.workshop-filter-chip {
    flex: 0 0 auto;
    min-height: var(--min-touch-target);
    padding: 7px 13px;
    color: var(--vnta-text-muted);
    background: var(--vnta-surface);
    border: 1px solid var(--vnta-border);
    border-radius: var(--vnta-radius-full);
    font: inherit;
    font-size: var(--vnta-font-caption, 12px);
    font-weight: 600;
}

.workshop-filter-chip--active {
    color: var(--vnta-on-hero);
    background: var(--vnta-primary);
    border-color: var(--vnta-primary);
}

.workshop-button {
    min-height: var(--min-touch-target);
    padding: 8px 12px;
    color: var(--vnta-on-hero);
    background: var(--vnta-primary);
    border: 1px solid var(--vnta-primary);
    border-radius: var(--vnta-radius-md);
    cursor: pointer;
    font: inherit;
    font-size: var(--vnta-font-body, 14px);
    font-weight: 600;
}

.workshop-button--secondary { color: var(--vnta-primary); background: var(--vnta-surface); }
.workshop-button--danger { color: var(--vnta-on-hero); background: var(--vnta-danger); border-color: var(--vnta-danger); }
.workshop-button--ghost { color: var(--vnta-text-main); background: var(--vnta-surface); border-color: var(--vnta-border); }
.workshop-button:disabled { cursor: not-allowed; opacity: 0.58; }

.workshop-form-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.workshop-form-label {
    display: block;
    margin-bottom: 5px;
    color: var(--vnta-text-muted);
    font-size: var(--vnta-font-caption, 12px);
    font-weight: 600;
}

.workshop-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.workshop-native-input,
.workshop-native-textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--min-touch-target);
    padding: 10px 11px;
    color: var(--vnta-text-main);
    background: var(--vnta-surface);
    border: 1px solid var(--vnta-border);
    border-radius: var(--vnta-radius-md);
    font: inherit;
    font-size: var(--vnta-font-body, 14px);
    line-height: var(--vnta-line-height-body, 1.45);
}

.workshop-native-textarea { min-height: 82px; resize: vertical; }

.workshop-meal-toggle {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: var(--min-touch-target);
    padding: 10px 12px;
    color: var(--vnta-text-main);
    background: var(--vnta-primary-light);
    border-radius: var(--vnta-radius-md);
    font-size: var(--vnta-font-body, 14px);
    font-weight: 600;
}

.workshop-meal-toggle input,
.workshop-worker-toggle input { width: 19px; height: 19px; accent-color: var(--vnta-primary); }

.workshop-team-card { padding: 0; overflow: hidden; }

.workshop-team-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 56px;
    padding: 10px 13px;
    color: var(--vnta-text-main);
    background: var(--vnta-surface);
    border: 0;
    border-bottom: 1px solid var(--vnta-divider);
    text-align: left;
    font: inherit;
}

.workshop-team-toggle__name { flex: 1; font-size: var(--vnta-font-body, 14px); font-weight: 700; }

.workshop-worker-list { display: flex; flex-direction: column; }

.workshop-worker-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 60px;
    padding: 9px 13px;
    width: 100%;
    color: var(--vnta-text-main);
    background: var(--vnta-surface);
    border: 0;
    border-bottom: 1px solid var(--vnta-divider);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.workshop-worker-toggle:last-child { border-bottom: 0; }
.workshop-worker-toggle:disabled { cursor: not-allowed; opacity: 0.58; }
.workshop-worker-toggle__body { flex: 1; min-width: 0; }
.workshop-worker-toggle__name { color: var(--vnta-text-main); font-size: var(--vnta-font-body, 14px); font-weight: 700; }
.workshop-worker-toggle__meta { margin-top: 2px; color: var(--vnta-text-muted); font-size: var(--vnta-font-caption, 12px); }
.workshop-worker-toggle__warning { color: var(--vnta-warning-foreground); font-size: var(--vnta-font-badge, 11px); font-weight: 700; }

.workshop-request-card { padding: 14px; }
.workshop-request-card__title { color: var(--vnta-text-main); font-size: var(--vnta-font-body, 14px); font-weight: 700; }
.workshop-request-card__detail { margin-top: 5px; color: var(--vnta-text-muted); font-size: var(--vnta-font-caption, 12px); }
.workshop-request-card__reason { margin-top: 10px; padding: 9px 10px; color: var(--vnta-danger-foreground); background: var(--vnta-danger-bg); border-radius: 10px; font-size: var(--vnta-font-caption, 12px); line-height: var(--vnta-line-height-caption, 1.4); }

.workshop-timeline { position: relative; display: flex; flex-direction: column; gap: 0; }
.workshop-timeline__item { position: relative; display: grid; grid-template-columns: 22px 1fr; gap: 9px; min-height: 58px; }
.workshop-timeline__rail { position: relative; display: flex; justify-content: center; }
.workshop-timeline__rail::after { position: absolute; top: 19px; bottom: -6px; width: 2px; background: var(--vnta-divider); content: ""; }
.workshop-timeline__item:last-child .workshop-timeline__rail::after { display: none; }
.workshop-timeline__dot { z-index: 1; width: 13px; height: 13px; margin-top: 3px; background: var(--vnta-primary); border: 3px solid var(--vnta-primary-light); border-radius: 50%; }
.workshop-timeline__content { padding-bottom: 14px; }
.workshop-timeline__title { color: var(--vnta-text-main); font-size: var(--vnta-font-body, 14px); font-weight: 700; }
.workshop-timeline__time { margin-top: 3px; color: var(--vnta-text-muted); font-size: var(--vnta-font-caption, 12px); }

.workshop-sticky-actions {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    display: flex;
    gap: 10px;
    padding: 10px 16px calc(10px + var(--safe-area-bottom));
    background: color-mix(in srgb, var(--vnta-surface) 94%, transparent);
    border-top: 1px solid var(--vnta-border);
    box-shadow: 0 -7px 18px color-mix(in srgb, var(--vnta-text-main) 8%, transparent);
    backdrop-filter: blur(12px);
}

.workshop-sticky-actions > * { flex: 1; }

.workshop-empty,
.workshop-feedback {
    padding: 16px;
    color: var(--vnta-text-muted);
    background: var(--vnta-surface);
    border: 1px dashed var(--vnta-border);
    border-radius: var(--vnta-radius-md);
    text-align: center;
    font-size: var(--vnta-font-body, 14px);
    line-height: var(--vnta-line-height-body, 1.45);
}

.workshop-feedback--success { color: var(--vnta-success-foreground); background: var(--vnta-success-bg); border-style: solid; border-color: var(--vnta-success-border); }
.workshop-feedback--error { color: var(--vnta-danger-foreground); background: var(--vnta-danger-bg); border-style: solid; border-color: var(--vnta-danger-border); }

@keyframes workshopDeadlinePulse {
    0%, 100% { box-shadow: 0 0 0 transparent; }
    50% { box-shadow: 0 0 0 4px var(--vnta-status-shadow); }
}

@media (max-width: 340px) {
    .workshop-form-grid,
    .workshop-quick-grid,
    .workshop-stat-grid { grid-template-columns: 1fr; }
    .workshop-quick-grid > :last-child:nth-child(odd) { grid-column: auto; }
}
