.back-link {display: inline-flex;align-items: center;color: var(--color-text-muted);text-decoration: none;font-size: 14px;margin-bottom: 16px}
.back-link:hover {color: var(--color-primary)}
.form-group {margin-bottom: 20px}
.form-group label {display: block;font-size: 14px;font-weight: 500;color: var(--color-text-secondary);margin-bottom: 8px}
.form-control {width: 100%;padding: 12px 14px;border: 1px solid var(--color-border);border-radius: 8px;font-size: 15px;color: var(--color-text-primary);background: white;transition: all 0.2s;box-sizing: border-box}
.form-control:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.form-control::placeholder {color: var(--color-text-light)}
textarea.form-control {resize: vertical;min-height: 80px}
select.form-control {appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 12px center;padding-right: 36px}
.form-errors {background: #fef2f2;border: 1px solid #fecaca;border-radius: 10px;padding: 16px;margin-bottom: 20px}
.form-errors h3 {font-size: 14px;font-weight: 600;color: var(--color-danger-dark);margin: 0 0 8px}
.form-errors ul {margin: 0;padding-left: 20px}
.form-errors li {font-size: 13px;color: #b91c1c;line-height: 1.5}
.form-actions {margin-top: 24px}
.btn {display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 12px 24px;border: none;border-radius: var(--radius-sm);font-size: 15px;font-weight: 600;text-decoration: none;cursor: pointer;transition: all 0.2s}
.btn:hover {transform: translateY(-1px)}
.btn-primary {background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white}
.btn-primary:hover {box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4)}
.btn-success {background: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);color: white}
.btn-success:hover {box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4)}
.btn-secondary {background: var(--color-bg-secondary);color: var(--color-text-secondary)}
.btn-secondary:hover {background: var(--color-border)}
.btn-danger {background: linear-gradient(135deg, var(--color-danger) 0%, var(--color-danger-dark) 100%);color: white}
.btn-danger:hover {box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4)}
.btn-disabled {background: var(--color-border);color: var(--color-text-light);cursor: not-allowed}
.btn-disabled:hover {transform: none;box-shadow: none}
.btn-large {width: 100%;padding: 14px 24px;font-size: 16px}
.btn-small {padding: 8px 16px;font-size: 13px}
.captain-ship-form-container,
.captain-schedule-form-container {max-width: 600px;margin: 0 auto;padding: 20px}
.captain-ship-form-header,
.captain-schedule-form-header {margin-bottom: 24px}
.captain-ship-form-header h1,
.captain-schedule-form-header h1 {font-size: 1.3em;color: var(--color-text-primary);display: flex;align-items: center;gap: 10px;margin: 0 0 8px}
.captain-ship-form-header h1 i,
.captain-schedule-form-header h1 i {color: var(--color-primary)}
.captain-schedule-form-ship-name {font-size: 14px;color: var(--color-text-muted);margin: 0 0 12px}
.captain-form-public-notice {display: flex;align-items: center;gap: 10px;padding: 14px 16px;background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);border: 1px solid #93c5fd;border-radius: 10px;margin-bottom: 20px;color: #1e40af;font-size: 14px;font-weight: 500}
.captain-form-public-notice i {font-size: 16px;color: var(--color-primary)}
.captain-form-errors {display: flex;align-items: flex-start;gap: 12px;padding: 14px 16px;background: #fef2f2;border: 1px solid #fecaca;border-radius: 10px;margin-bottom: 20px}
.captain-form-errors-icon {color: var(--color-danger-dark);flex-shrink: 0;font-size: 20px;line-height: 1}
.captain-form-errors-messages {font-size: 13px;color: #b91c1c;line-height: 1.5}
.captain-form-field-error .captain-form-label {color: var(--color-danger-dark)}
.captain-form-error {font-size: 13px;color: var(--color-danger-dark);margin-top: 8px;display: flex;align-items: flex-start;gap: 6px}
.captain-form-error::before {content: "⚠";flex-shrink: 0}
.captain-form-label-required::after {content: " *";color: var(--color-danger-dark)}
.captain-form-section {background: white;border-radius: 12px;padding: 20px;margin-bottom: 16px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.captain-form-section h2 {font-size: 1em;color: var(--color-text-primary);margin: 0 0 16px;display: flex;align-items: center;gap: 8px}
.captain-form-section h2 i {color: var(--color-primary)}
.captain-form-section-description {font-size: 13px;color: var(--color-text-muted);margin: -12px 0 16px}
.captain-form-field {margin-bottom: 16px;max-width: 100%;overflow: hidden}
.captain-form-field:last-child {margin-bottom: 0}
.captain-form-label {display: block;font-size: 13px;font-weight: 500;color: var(--color-text-secondary);margin-bottom: 6px}
.captain-form-label-required::after {content: " *";color: var(--color-danger)}
.captain-form-input,
.captain-form-select,
.captain-form-textarea {width: 100%;padding: 10px 12px;border: 1px solid var(--color-border);border-radius: 8px;font-size: 15px;transition: all 0.2s;box-sizing: border-box}
.captain-form-input:focus,
.captain-form-select:focus,
.captain-form-textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.captain-form-textarea {resize: vertical;min-height: 100px}
.captain-form-row {display: grid;grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));gap: 16px}
.captain-form-stack {display: flex;flex-direction: column}
.captain-form-field-grow {grid-column: span 2}
@media (max-width: 480px) {.captain-form-field-grow {grid-column: span 1}}
.captain-form-input-wrapper {display: flex;align-items: center;gap: 8px}
.captain-form-input-wrapper .captain-form-input {flex: 1}
.captain-form-input-suffix {font-size: 14px;color: var(--color-text-muted);white-space: nowrap}
.captain-form-hint {font-size: 12px;color: var(--color-text-muted);margin-top: 6px}
.captain-form-checkbox {display: flex;align-items: center;gap: 10px;cursor: pointer;padding: 12px 16px;background: var(--color-bg-muted);border: 1px solid var(--color-border);border-radius: 8px;transition: all 0.2s}
.captain-form-checkbox:hover {background: var(--color-bg-secondary);border-color: #cbd5e1}
.captain-form-checkbox:has(.captain-form-checkbox-input:checked) {background: #eff6ff;border-color: var(--color-primary)}
.captain-form-checkbox-input {width: 18px;height: 18px;accent-color: var(--color-primary);cursor: pointer}
.captain-form-checkbox-label {font-size: 14px;color: #334155;display: flex;align-items: center;gap: 8px}
.captain-form-checkbox-label i {color: var(--color-text-muted)}
.captain-form-checkbox:has(.captain-form-checkbox-input:checked) .captain-form-checkbox-label i {color: var(--color-primary)}
.location-picker {border: 1px solid var(--color-border);border-radius: 12px;overflow: hidden;background: white}
.location-picker-header {display: flex;justify-content: space-between;align-items: center;padding: 12px 16px;background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border);gap: 12px}
.location-picker-info {flex: 1;min-width: 0}
.location-picker-display {font-size: 14px;color: var(--color-text-primary);font-family: monospace}
.location-picker-display.location-picker-no-selection {color: var(--color-text-light);font-family: inherit}
.location-picker-actions {display: flex;gap: 8px;flex-shrink: 0}
.location-picker-btn {display: inline-flex;align-items: center;gap: 6px;padding: 8px 12px;font-size: 13px;color: var(--color-text-secondary);background: white;border: 1px solid var(--color-border);border-radius: 6px;cursor: pointer;transition: all 0.2s}
.location-picker-btn:hover {background: var(--color-bg-secondary);border-color: #cbd5e1}
.location-picker-btn i {font-size: 14px}
.location-picker-btn-clear {color: var(--color-danger-dark)}
.location-picker-btn-clear:hover {background: #fef2f2;border-color: #fecaca}
.location-picker-map {width: 100%;height: 300px}
.captain-image-upload {position: relative;max-width: 100%;overflow: hidden;box-sizing: border-box}
.captain-image-upload-input {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0}
.captain-image-upload-dropzone {display: block;width: 100%;max-width: 100%;padding: 32px 20px;border: 2px dashed #d1d5db;border-radius: 12px;background: #f9fafb;cursor: pointer;transition: all 0.2s;text-align: center;box-sizing: border-box}
.captain-image-upload-dropzone:hover {border-color: var(--color-primary);background: #f0f9ff}
.captain-image-upload-dropzone.has-image {display: none}
.captain-image-upload-content {display: flex;flex-direction: column;align-items: center;gap: 12px}
.captain-image-upload-dropzone.has-image .captain-image-upload-content {display: none}
.captain-image-upload-icon {width: 56px;height: 56px;display: flex;align-items: center;justify-content: center;background: #e0e7ff;border-radius: 50%;color: var(--color-primary);font-size: 24px}
.captain-image-upload-text {display: flex;flex-direction: column;gap: 4px}
.captain-image-upload-main {font-size: 15px;font-weight: 600;color: var(--color-text-primary)}
.captain-image-upload-sub {font-size: 13px;color: var(--color-text-muted)}
.captain-image-upload-formats {font-size: 12px;color: var(--color-text-light)}
.captain-image-upload-preview {position: relative;border-radius: 12px;overflow: hidden;background: var(--color-bg-secondary);max-width: 100%;box-sizing: border-box;cursor: pointer}
.captain-image-upload-preview img {display: block;width: 100%;max-width: 100%;height: auto;max-height: 300px;object-fit: cover}
.captain-image-upload-overlay {position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;background: rgba(0, 0, 0, 0.5);color: white;opacity: 0;transition: opacity 0.2s;cursor: pointer}
.captain-image-upload-preview:hover .captain-image-upload-overlay {opacity: 1}
.captain-image-upload-overlay i {font-size: 28px}
.captain-image-upload-overlay span {font-size: 14px;font-weight: 500}
.captain-certificate-upload {position: relative;max-width: 100%;overflow: hidden;box-sizing: border-box}
.captain-certificate-upload-input {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0}
.captain-certificate-upload-dropzone {display: block;width: 100%;max-width: 100%;padding: 24px 20px;border: 2px dashed #bae6fd;border-radius: 12px;background: #f0f9ff;cursor: pointer;transition: all 0.2s;text-align: center;box-sizing: border-box}
.captain-certificate-upload-dropzone:hover {border-color: var(--color-primary);background: #e0f2fe}
.captain-certificate-upload-dropzone.has-image {display: none}
.captain-certificate-upload-content {display: flex;flex-direction: column;align-items: center;gap: 10px}
.captain-certificate-upload-icon {width: 48px;height: 48px;display: flex;align-items: center;justify-content: center;background: #0284c7;border-radius: 50%;color: white;font-size: 20px}
.captain-certificate-upload-text {display: flex;flex-direction: column;gap: 4px}
.captain-certificate-upload-main {font-size: 14px;font-weight: 600;color: #0369a1}
.captain-certificate-upload-sub {font-size: 12px;color: #0284c7}
.captain-certificate-upload-formats {font-size: 11px;color: var(--color-text-muted)}
.captain-certificate-upload-preview {position: relative;border-radius: 12px;overflow: hidden;background: #f0f9ff;border: 1px solid #bae6fd;max-width: 100%;box-sizing: border-box;cursor: pointer}
.captain-certificate-upload-preview img {display: block;width: 100%;max-width: 100%;height: auto;max-height: 300px;object-fit: cover}
.captain-certificate-upload-overlay {position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;background: rgba(0, 0, 0, 0.5);color: white;opacity: 0;transition: opacity 0.2s;cursor: pointer}
.captain-certificate-upload-preview:hover .captain-certificate-upload-overlay {opacity: 1}
.captain-certificate-upload-overlay i {font-size: 24px}
.captain-certificate-upload-overlay span {font-size: 13px;font-weight: 500}
.captain-certificate-notice {margin-top: 12px;padding: 16px;background: #fefce8;border: 1px solid #fde047;border-radius: 8px}
.captain-certificate-notice-header {display: flex;align-items: center;gap: 8px;color: #854d0e;font-size: 13px;margin-bottom: 10px}
.captain-certificate-notice-header i {color: #ca8a04}
.captain-certificate-notice-list {margin: 0;padding-left: 20px;columns: 2;column-gap: 24px;font-size: 13px;color: #713f12}
.captain-certificate-notice-list li {margin-bottom: 4px}
@media (max-width: 600px) {.captain-certificate-notice-list {columns: 1}}
.captain-form-actions {margin-top: 24px}
.captain-form-pending-notice {display: flex;align-items: center;justify-content: center;gap: 8px;padding: 16px;background-color: #fff3cd;color: #856404;border-radius: 8px;font-size: 14px}
.captain-form-pending-notice i {font-size: 18px}
.captain-schedule-status-badge {display: inline-block;font-size: 12px;padding: 4px 12px;border-radius: 12px;font-weight: 500}
.captain-schedule-status-badge.open {background: #dcfce7;color: #166534}
.captain-schedule-status-badge.full {background: #fef3c7;color: #92400e}
.captain-schedule-status-badge.cancelled {background: #fee2e2;color: #991b1b}
.captain-schedule-status-badge.closed {background: var(--color-border);color: #334155}
.captain-schedule-status-badge.large {font-size: 14px;padding: 6px 16px}
.captain-schedule-show {max-width: 1100px;margin: 0 auto;padding: 20px}
.captain-schedule-show__back {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);font-size: 14px;text-decoration: none;margin-bottom: 20px;transition: color 0.2s}
.captain-schedule-show__back:hover {color: var(--color-primary)}
.captain-schedule-show__hero {display: flex;align-items: center;justify-content: space-between;gap: 24px;padding: 24px;background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);border-radius: 16px;margin-bottom: 24px}
.captain-schedule-show__date-block {display: flex;flex-direction: column;align-items: center;gap: 8px}
.captain-schedule-show__date-large {display: flex;align-items: baseline;gap: 4px;color: white}
.captain-schedule-show__month {font-size: 24px;font-weight: 500}
.captain-schedule-show__month small {font-size: 16px;font-weight: 400}
.captain-schedule-show__day {font-size: 64px;font-weight: 700;line-height: 1}
.captain-schedule-show__weekday {font-size: 18px;font-weight: 500;margin-left: 8px}
.captain-schedule-show__date-large.sunday .captain-schedule-show__weekday {color: #f87171}
.captain-schedule-show__date-large.saturday .captain-schedule-show__weekday {color: #60a5fa}
.captain-schedule-show__today-badge {display: inline-block;padding: 6px 16px;background: #fbbf24;color: var(--color-text-primary);font-size: 14px;font-weight: 600;border-radius: 20px}
.captain-schedule-show__past-badge {display: inline-block;padding: 6px 16px;background: rgba(255, 255, 255, 0.2);color: white;font-size: 14px;font-weight: 500;border-radius: 20px}
.captain-schedule-show__status-block {display: flex;flex-direction: column;align-items: flex-end;gap: 12px}
.captain-schedule-show__target-fish {display: flex;align-items: center;gap: 8px;color: white;font-size: 20px;font-weight: 600}
.captain-schedule-show__target-fish i {color: #fbbf24}
.captain-schedule-show__grid {display: grid;grid-template-columns: 1fr 380px;gap: 24px;align-items: start}
.captain-schedule-show__main {display: flex;flex-direction: column;gap: 20px}
.captain-schedule-show__card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);padding: 20px}
.captain-schedule-show__card-header {display: flex;align-items: center;gap: 10px;font-size: 16px;font-weight: 600;color: #334155;margin-bottom: 16px;padding-bottom: 12px;border-bottom: 1px solid var(--color-border)}
.captain-schedule-show__card-header i {color: var(--color-primary)}
.captain-schedule-show__info-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px}
.captain-schedule-show__info-item {display: flex;flex-direction: column;gap: 4px}
.captain-schedule-show__info-label {font-size: 12px;color: var(--color-text-muted);text-transform: uppercase;letter-spacing: 0.5px}
.captain-schedule-show__info-value {font-size: 16px;font-weight: 600;color: var(--color-text-primary)}
.captain-schedule-show__info-value.time {font-size: 24px;font-family: "SF Mono", "Monaco", monospace}
.captain-schedule-show__price-grid {display: flex;gap: 16px}
.captain-schedule-show__price-item {flex: 1;display: flex;flex-direction: column;align-items: center;gap: 4px;padding: 10px 12px;background: var(--color-bg-muted);border-radius: 10px}
.captain-schedule-show__price-item.main {background: linear-gradient(135deg, #dbeafe 0%, #e0f2fe 100%)}
.captain-schedule-show__price-type {font-size: 13px;color: var(--color-text-muted);font-weight: 500}
.captain-schedule-show__price-value {font-size: 18px;font-weight: 700;color: var(--color-text-primary);white-space: nowrap}
.captain-schedule-show__price-value small {font-size: 12px;font-weight: 500}
.captain-schedule-show__price-item.main .captain-schedule-show__price-value {color: #1e40af}
.captain-schedule-show__price-item.female {background: linear-gradient(135deg, #fce7f3 0%, #fdf2f8 100%)}
.captain-schedule-show__price-item.female .captain-schedule-show__price-type {color: #be185d}
.captain-schedule-show__price-item.female .captain-schedule-show__price-value {color: #be185d}
.captain-schedule-show__price-item.child {background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 100%)}
.captain-schedule-show__price-item.child .captain-schedule-show__price-type {color: #1d4ed8}
.captain-schedule-show__price-item.child .captain-schedule-show__price-value {color: #1d4ed8}
.captain-schedule-show__tags {display: flex;flex-wrap: wrap;gap: 10px;margin-bottom: 16px}
.captain-schedule-show__tag {display: inline-flex;align-items: center;gap: 6px;padding: 8px 14px;background: #e0f2fe;color: #0369a1;font-size: 14px;font-weight: 500;border-radius: 20px}
.captain-schedule-show__tag i {font-size: 13px}
.captain-schedule-show__tag.beginner {background: #dcfce7;color: #166534}
.captain-schedule-show__section {margin-top: 16px;padding-top: 16px;border-top: 1px dashed var(--color-border)}
.captain-schedule-show__section:first-child {margin-top: 0;padding-top: 0;border-top: none}
.captain-schedule-show__section-title {font-size: 13px;color: var(--color-text-muted);font-weight: 600;margin: 0 0 8px 0}
.captain-schedule-show__section-content {font-size: 14px;color: #334155;line-height: 1.6}
.captain-schedule-show__section-content p {margin: 0}
.captain-schedule-show__actions {display: flex;gap: 12px}
.captain-schedule-show__actions .btn {flex: 1;justify-content: center;padding: 14px 20px;font-size: 15px}
.captain-schedule-show__actions form {flex: 1;display: flex}
.captain-schedule-show__actions form .btn {flex: 1}
.captain-schedule-show__sidebar {display: flex;flex-direction: column;gap: 20px}
.captain-schedule-show__summary-card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);padding: 20px}
.captain-schedule-show__summary-header {display: flex;align-items: center;gap: 10px;font-size: 16px;font-weight: 600;color: #334155;margin-bottom: 16px}
.captain-schedule-show__summary-header i {color: var(--color-primary)}
.captain-schedule-show__summary-stats {display: grid;grid-template-columns: repeat(3, 1fr);gap: 12px;margin-bottom: 16px}
.captain-schedule-show__stat {display: flex;flex-direction: column;align-items: center;text-align: center}
.captain-schedule-show__stat-value {font-size: 32px;font-weight: 700;color: var(--color-text-primary);line-height: 1.2}
.captain-schedule-show__stat-label {font-size: 12px;color: var(--color-text-muted);margin-top: 4px}
.captain-schedule-show__capacity-bar {height: 8px;background: var(--color-border);border-radius: 4px;overflow: hidden}
.captain-schedule-show__capacity-fill {height: 100%;background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius: 4px;transition: width 0.3s ease}
.captain-schedule-show__capacity-bar.below-minimum {background: #fef3c7}
.captain-schedule-show__capacity-bar.below-minimum .captain-schedule-show__capacity-fill {background: linear-gradient(90deg, var(--color-warning) 0%, #d97706 100%)}
.captain-schedule-show__minimum-warning {display: flex;align-items: center;gap: 8px;margin-top: 12px;padding: 10px 12px;background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);color: #92400e;font-size: 13px;font-weight: 600;border-radius: 8px;border-left: 4px solid var(--color-warning)}
.captain-schedule-show__minimum-warning i {color: #d97706}
.captain-schedule-show__pending-alert {display: flex;align-items: center;gap: 8px;margin-top: 16px;padding: 12px;background: #fef3c7;color: #92400e;font-size: 14px;font-weight: 500;border-radius: 8px}
.captain-schedule-show__pending-alert i {color: var(--color-warning)}
.captain-schedule-show__reservations-card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);overflow: hidden}
.captain-schedule-show__reservations-header {display: flex;align-items: center;gap: 10px;padding: 16px 20px;font-size: 15px;font-weight: 600;color: #334155;background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border)}
.captain-schedule-show__count-badge {font-size: 12px;padding: 3px 10px;border-radius: 12px;font-weight: 500}
.captain-schedule-show__count-badge.confirmed {background: #dcfce7;color: #166534}
.captain-schedule-show__count-badge.pending {background: #fef3c7;color: #92400e}
.captain-schedule-show__count-badge.completed {background: #e0e7ff;color: #4338ca}
.captain-schedule-show__count-badge.no_show {background: var(--color-bg-secondary);color: var(--color-text-muted)}
.captain-schedule-show__reservations-list {padding: 12px}
.captain-schedule-show__reservation {display: flex;flex-direction: column;gap: 10px;padding: 14px;margin-bottom: 8px;background: var(--color-bg-muted);border-radius: 10px;border-left: 4px solid var(--color-primary)}
.captain-schedule-show__reservation:last-child {margin-bottom: 0}
.captain-schedule-show__reservation.pending {background: #fffbeb;border-left-color: var(--color-warning)}
.captain-schedule-show__reservation.completed {background: #f0f9ff;border-left-color: #6366f1;opacity: 0.85}
.captain-schedule-show__reservation.no_show {background: var(--color-bg-muted);border-left-color: var(--color-text-light);opacity: 0.7}
.captain-schedule-show__reservation-main {display: flex;justify-content: space-between;align-items: center}
.captain-schedule-show__reservation-user {display: flex;align-items: baseline;gap: 8px}
.captain-schedule-show__reservation-name {font-weight: 600;color: var(--color-text-primary)}
.captain-schedule-show__reservation-people {font-size: 13px;color: var(--color-text-muted)}
.captain-schedule-show__reservation-breakdown {font-size: 12px;color: var(--color-text-light)}
.captain-schedule-show__reservation-phone {display: flex;align-items: center;gap: 6px;font-size: 13px;color: var(--color-primary);text-decoration: none}
.captain-schedule-show__reservation-phone:hover {text-decoration: underline}
.captain-schedule-show__reservation-actions {display: flex;align-items: center;gap: 8px;flex-wrap: wrap}
.captain-schedule-show__reservation-actions .status-badge {margin-right: auto}
.captain-schedule-show__reservation-actions form {display: inline}
.captain-schedule-show__reservation-actions form button {cursor: pointer}
.captain-schedule-show__reservation.with-price {flex-wrap: wrap}
.captain-schedule-show__reservation-price {display: flex;align-items: center;gap: 8px;width: 100%;margin-top: 8px;padding-top: 10px;border-top: 1px dashed var(--color-border)}
.captain-schedule-show__reservation-price-label {font-size: 12px;color: var(--color-text-muted)}
.captain-schedule-show__reservation-price-value {font-size: 16px;font-weight: 700;color: #059669}
.captain-schedule-show__reservation-price-value i {font-size: 13px;margin-right: 2px}
.captain-schedule-show__no-reservations {display: flex;flex-direction: column;align-items: center;gap: 8px;padding: 32px 20px;color: var(--color-text-light)}
.captain-schedule-show__no-reservations i {font-size: 32px}
.captain-schedule-show__no-reservations p {margin: 0;font-size: 14px}
.captain-schedule-show__completed-card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);margin-bottom: 16px}
.captain-schedule-show__completed-header {display: flex;align-items: center;gap: 8px;padding: 14px 20px;font-size: 14px;font-weight: 500;color: #059669;background: #ecfdf5;border-radius: 12px 12px 0 0}
.captain-schedule-show__completed-header i {color: #10b981}
.captain-schedule-show__completed-list {padding: 12px 16px}
.captain-schedule-show__completed-item {display: flex;justify-content: space-between;align-items: center;padding: 10px 0;font-size: 14px;border-bottom: 1px solid var(--color-border-light)}
.captain-schedule-show__completed-item:last-child {border-bottom: none}
.captain-schedule-show__completed-info {display: flex;align-items: center;gap: 12px}
.captain-schedule-show__completed-name {color: #374151}
.captain-schedule-show__cancelled-card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);opacity: 0.7}
.captain-schedule-show__cancelled-header {display: flex;align-items: center;gap: 8px;padding: 14px 20px;font-size: 14px;font-weight: 500;color: var(--color-text-muted);background: var(--color-bg-secondary);border-radius: 12px 12px 0 0}
.captain-schedule-show__cancelled-header i {color: var(--color-text-light)}
.captain-schedule-show__cancelled-list {padding: 12px 16px}
.captain-schedule-show__cancelled-item {display: flex;justify-content: space-between;align-items: center;padding: 10px 0;font-size: 14px;color: var(--color-text-muted);border-bottom: 1px solid var(--color-border-light)}
.captain-schedule-show__cancelled-item:last-child {border-bottom: none}
@media (max-width: 900px) {.captain-schedule-show__grid {grid-template-columns: 1fr}
.captain-schedule-show__sidebar {order: -1}}
@media (max-width: 640px) {.captain-schedule-show {padding: 16px}
.captain-schedule-show__hero {flex-direction: column;text-align: center;padding: 20px}
.captain-schedule-show__status-block {align-items: center}
.captain-schedule-show__day {font-size: 48px}
.captain-schedule-show__info-grid {grid-template-columns: 1fr}
.captain-schedule-show__price-grid {flex-direction: column}
.captain-schedule-show__actions {flex-direction: column}
.captain-schedule-show__reservation-main {flex-direction: column;align-items: flex-start;gap: 8px}
.captain-schedule-show__reservation-actions {width: 100%;justify-content: flex-start}}
.captain-dashboard {max-width: 1100px;margin: 0 auto;padding: 20px}
.captain-dashboard__hero {display: flex;align-items: center;justify-content: space-between;gap: 24px;padding: 28px 32px;background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);border-radius: 16px;margin-bottom: 24px}
.captain-dashboard__hero-content {flex: 1}
.captain-dashboard__title {display: flex;align-items: center;gap: 12px;font-size: 28px;font-weight: 700;color: white;margin: 0 0 8px 0}
.captain-dashboard__title i {color: #60a5fa}
.captain-dashboard__subtitle {font-size: 15px;color: rgba(255, 255, 255, 0.8);margin: 0}
.captain-dashboard__add-btn {display: inline-flex;align-items: center;gap: 8px;padding: 14px 24px;background: white;color: #1e3a5f;font-size: 15px;font-weight: 600;text-decoration: none;border-radius: 10px;transition: all 0.2s}
.captain-dashboard__add-btn:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)}
.captain-dashboard__hero-actions {display: flex;align-items: center;gap: 12px}
.captain-dashboard__manual-btn {display: inline-flex;align-items: center;gap: 8px;padding: 14px 20px;background: rgba(255, 255, 255, 0.2);color: white;font-size: 14px;font-weight: 600;text-decoration: none;border-radius: 10px;border: 1px solid rgba(255, 255, 255, 0.3);transition: all 0.2s}
.captain-dashboard__manual-btn:hover {background: rgba(255, 255, 255, 0.3);transform: translateY(-2px)}
.captain-dashboard__alerts {display: flex;flex-direction: column;gap: 12px;margin-bottom: 24px}
.captain-dashboard__alert {display: flex;align-items: center;gap: 12px;padding: 14px 20px;border-radius: 10px;font-size: 14px;font-weight: 500}
.captain-dashboard__alert.pending {background: #fef3c7;color: #92400e}
.captain-dashboard__alert.pending i {color: var(--color-warning)}
.captain-dashboard__alert.rejected {background: #fee2e2;color: #991b1b}
.captain-dashboard__alert.rejected i {color: var(--color-danger-dark)}
.captain-dashboard__ships {display: grid;grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));gap: 20px}
.captain-ship-card-v2 {background: white;border-radius: 14px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);overflow: hidden;transition: all 0.2s}
.captain-ship-card-v2:hover {box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1)}
.captain-ship-card-v2.approval_pending,
.captain-ship-card-v2.rejected {opacity: 0.85}
.captain-ship-card-v2__image {position: relative;height: 160px;background: var(--color-bg-secondary);overflow: hidden}
.captain-ship-card-v2__image img {width: 100%;height: 100%;object-fit: cover}
.captain-ship-card-v2__no-image {display: flex;align-items: center;justify-content: center;height: 100%;color: var(--color-text-light);font-size: 48px}
.captain-ship-card-v2__status-overlay {position: absolute;top: 12px;right: 12px}
.captain-ship-card-v2__status-badge {display: inline-block;padding: 6px 14px;font-size: 13px;font-weight: 600;border-radius: 20px}
.captain-ship-card-v2__status-badge.approval_pending {background: #fef3c7;color: #92400e}
.captain-ship-card-v2__status-badge.rejected {background: #fee2e2;color: #991b1b}
.captain-ship-card-v2__body {padding: 20px}
.captain-ship-card-v2__name {font-size: 18px;font-weight: 700;color: var(--color-text-primary);margin: 0 0 12px 0}
.captain-ship-card-v2__meta {display: flex;flex-wrap: wrap;gap: 16px;font-size: 14px;color: var(--color-text-muted);margin-bottom: 16px}
.captain-ship-card-v2__meta i {margin-right: 4px;color: var(--color-text-light)}
.captain-ship-card-v2__actions {display: flex;gap: 10px}
.captain-ship-card-v2__btn {flex: 1;display: flex;align-items: center;justify-content: center;gap: 8px;padding: 12px 16px;font-size: 14px;font-weight: 600;text-decoration: none;border-radius: 8px;transition: all 0.2s}
.captain-ship-card-v2__btn.primary {background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white}
.captain-ship-card-v2__btn.primary:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3)}
.captain-ship-card-v2__btn.secondary {background: var(--color-bg-secondary);color: var(--color-text-secondary)}
.captain-ship-card-v2__btn.secondary:hover {background: var(--color-border)}
.captain-ship-card-v2__notice {display: flex;align-items: flex-start;gap: 10px;padding: 12px;border-radius: 8px;font-size: 13px;margin-bottom: 12px}
.captain-ship-card-v2__notice.pending {background: #fef9e7;color: #92400e}
.captain-ship-card-v2__notice.rejected {background: #fef2f2;color: #991b1b}
.captain-ship-card-v2__pending-reservations {display: flex;align-items: center;gap: 8px;padding: 10px 12px;background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);border: 1px solid #fcd34d;border-radius: 8px;font-size: 13px;font-weight: 600;color: #92400e;margin-bottom: 12px}
.captain-ship-card-v2__pending-reservations i {color: var(--color-warning)}
.captain-ship-card-v2__rejection-reason {font-size: 13px;color: var(--color-text-muted);margin-bottom: 12px;padding: 10px 12px;background: var(--color-bg-muted);border-radius: 6px}
.captain-ship-card-v2__link {display: flex;align-items: center;justify-content: center;gap: 6px;padding: 10px;color: var(--color-primary);font-size: 14px;font-weight: 500;text-decoration: none;border-radius: 8px;transition: background 0.2s}
.captain-ship-card-v2__link:hover {background: var(--color-bg-secondary)}
.captain-dashboard__empty {display: flex;flex-direction: column;align-items: center;text-align: center;padding: 60px 20px;background: white;border-radius: 16px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06)}
.captain-dashboard__empty-icon {width: 80px;height: 80px;display: flex;align-items: center;justify-content: center;background: var(--color-bg-secondary);border-radius: 50%;margin-bottom: 20px}
.captain-dashboard__empty-icon i {font-size: 36px;color: var(--color-text-light)}
.captain-dashboard__empty h2 {font-size: 20px;color: var(--color-text-primary);margin: 0 0 8px 0}
.captain-dashboard__empty p {font-size: 15px;color: var(--color-text-muted);margin: 0 0 24px 0}
.captain-ship-show {max-width: 1100px;margin: 0 auto;padding: 20px}
.captain-ship-show__back {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);font-size: 14px;text-decoration: none;margin-bottom: 20px;transition: color 0.2s}
.captain-ship-show__back:hover {color: var(--color-primary)}
.captain-ship-show__hero {position: relative;height: 280px;border-radius: 16px;overflow: hidden;margin-bottom: 24px}
.captain-ship-show__hero-image {position: absolute;inset: 0}
.captain-ship-show__hero-image img {width: 100%;height: 100%;object-fit: cover}
.captain-ship-show__no-image {display: flex;align-items: center;justify-content: center;height: 100%;background: linear-gradient(135deg, var(--color-border) 0%, var(--color-bg-secondary) 100%);color: var(--color-text-light);font-size: 64px}
.captain-ship-show__hero-overlay {position: absolute;inset: 0;display: flex;align-items: flex-end;justify-content: space-between;padding: 24px;background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%)}
.captain-ship-show__hero-content {flex: 1}
.captain-ship-show__title {font-size: 28px;font-weight: 700;color: white;margin: 0 0 8px 0;text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3)}
.captain-ship-show__hero-meta {display: flex;flex-wrap: wrap;gap: 16px;font-size: 14px;color: rgba(255, 255, 255, 0.9)}
.captain-ship-show__hero-meta i {margin-right: 4px}
.captain-ship-show__status-badge {display: inline-flex;align-items: center;gap: 6px;padding: 8px 16px;font-size: 14px;font-weight: 600;border-radius: 20px}
.captain-ship-show__status-badge.approved {background: #dcfce7;color: #166534}
.captain-ship-show__status-badge.pending {background: #fef3c7;color: #92400e}
.captain-ship-show__status-badge.rejected {background: #fee2e2;color: #991b1b}
.captain-ship-show__notice {display: flex;gap: 16px;padding: 20px;border-radius: 12px;margin-bottom: 24px}
.captain-ship-show__notice.pending {background: #fef9e7;border: 1px solid #fcd34d}
.captain-ship-show__notice.pending > i {color: var(--color-warning);font-size: 24px}
.captain-ship-show__notice.rejected {background: #fef2f2;border: 1px solid #fca5a5}
.captain-ship-show__notice.rejected > i {color: var(--color-danger-dark);font-size: 24px}
.captain-ship-show__notice strong {display: block;font-size: 16px;margin-bottom: 4px}
.captain-ship-show__notice p {font-size: 14px;color: var(--color-text-muted);margin: 0}
.captain-ship-show__rejection-reason {margin-top: 12px;padding: 12px;background: rgba(0, 0, 0, 0.05);border-radius: 8px}
.captain-ship-show__reapply-actions {display: flex;gap: 12px;margin-top: 16px}
.captain-ship-show__grid {display: grid;grid-template-columns: 1fr 320px;gap: 24px;align-items: start}
.captain-ship-show__main {display: flex;flex-direction: column;gap: 20px}
.captain-ship-show__card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);padding: 20px}
.captain-ship-show__card.registration {background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);border: 1px solid #86efac}
.captain-ship-show__card-header {display: flex;align-items: center;gap: 10px;font-size: 16px;font-weight: 600;color: #334155;margin-bottom: 16px;padding-bottom: 12px;border-bottom: 1px solid var(--color-border)}
.captain-ship-show__card-header i {color: var(--color-primary)}
.captain-ship-show__registration-icon {font-size: 20px}
.captain-ship-show__info-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px}
.captain-ship-show__info-item {display: flex;flex-direction: column;gap: 4px}
.captain-ship-show__info-label {display: flex;align-items: center;gap: 6px;font-size: 12px;color: var(--color-text-muted);text-transform: uppercase;letter-spacing: 0.5px}
.captain-ship-show__info-value {font-size: 16px;font-weight: 600;color: var(--color-text-primary)}
.captain-ship-show__info-value.price {color: var(--color-primary-dark)}
.captain-ship-show__x-link {margin-top: 16px;padding-top: 16px;border-top: 1px solid var(--color-border)}
.captain-ship-show__x-button {display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;background: #0f1419;color: white;border-radius: 6px;text-decoration: none;transition: all 0.2s ease}
.captain-ship-show__x-button:hover {background: #272c30;transform: translateY(-1px)}
.captain-ship-show__x-button i {font-size: 14px}
.captain-ship-show__description {margin-top: 16px}
.captain-ship-show__description-text {font-size: 14px;color: var(--color-text-secondary);line-height: 1.7}
.captain-ship-show__description-text p {margin: 0}
.captain-ship-show__registration-details {display: flex;gap: 24px;margin-bottom: 16px}
.captain-ship-show__registration-item {display: flex;gap: 8px;font-size: 14px}
.captain-ship-show__registration-item strong {color: var(--color-text-muted)}
.captain-ship-show__certificate {margin-top: 16px;padding-top: 16px;border-top: 1px dashed #86efac}
.captain-ship-show__certificate-img {display: block;max-width: 100%;border-radius: 8px;margin-top: 12px}
.captain-ship-show__map {margin-bottom: 16px}
.captain-ship-show__map-container {height: 200px;border-radius: 8px;overflow: hidden}
.captain-ship-show__section {margin-top: 16px;padding-top: 16px;border-top: 1px dashed var(--color-border)}
.captain-ship-show__section:first-child {margin-top: 0;padding-top: 0;border-top: none}
.captain-ship-show__sidebar {display: flex;flex-direction: column;gap: 20px;min-width: 0;overflow: hidden}
.captain-ship-show__ticket-card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);overflow: hidden}
.captain-ship-show__ticket-header {display: flex;align-items: center;gap: 8px;padding: 14px 20px;background: var(--color-bg-muted);font-size: 14px;font-weight: 600;color: var(--color-text-primary);border-bottom: 1px solid var(--color-border-light)}
.captain-ship-show__ticket-header i {color: var(--color-warning)}
.captain-ship-show__ticket-content {padding: 16px 20px;box-sizing: border-box}
.captain-ship-show__ticket-status {display: flex;flex-direction: column;gap: 4px;margin-bottom: 14px}
.captain-ship-show__ticket-date {font-size: 14px;color: var(--color-text-primary)}
.captain-ship-show__ticket-days {font-size: 13px;color: var(--color-text-muted)}
.captain-ship-show__ticket-status.ok .captain-ship-show__ticket-date {color: #059669}
.captain-ship-show__ticket-status.warning .captain-ship-show__ticket-date {color: #d97706}
.captain-ship-show__ticket-status.warning .captain-ship-show__ticket-days {color: #d97706}
.captain-ship-show__ticket-status.expired .captain-ship-show__ticket-date {color: var(--color-danger-dark)}
.captain-ship-show__ticket-status.expired .captain-ship-show__ticket-days {color: var(--color-danger-dark)}
.captain-ship-show__ticket-btn {display: flex;align-items: center;justify-content: center;gap: 8px;width: 100%;padding: 12px 16px;background: linear-gradient(135deg, var(--color-warning) 0%, #d97706 100%);color: white;border-radius: 8px;font-size: 14px;font-weight: 600;text-decoration: none;transition: all 0.2s;box-sizing: border-box}
.captain-ship-show__ticket-btn:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3)}
.captain-ship-show__ticket-btn.disabled {background: #d1d5db;color: #6b7280;cursor: not-allowed;pointer-events: none}
.captain-ship-show__ticket-btn.disabled:hover {transform: none;box-shadow: none}
.captain-ship-show__action-card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);padding: 20px}
.captain-ship-show__action-header {display: flex;align-items: center;gap: 8px;font-size: 15px;font-weight: 600;color: #334155;margin-bottom: 16px}
.captain-ship-show__action-header i {color: var(--color-primary)}
.captain-ship-show__action-buttons {display: flex;flex-direction: column;gap: 10px}
.captain-ship-show__action-btn {display: flex;align-items: center;justify-content: center;gap: 10px;padding: 14px 20px;font-size: 15px;font-weight: 600;text-decoration: none;border-radius: 10px;transition: all 0.2s}
.captain-ship-show__action-btn.primary {background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white}
.captain-ship-show__action-btn.primary:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3)}
.captain-ship-show__action-btn.secondary {background: var(--color-bg-secondary);color: var(--color-text-secondary)}
.captain-ship-show__action-btn.secondary:hover {background: var(--color-border)}
.captain-ship-show__action-notice {display: flex;align-items: center;justify-content: center;gap: 8px;padding: 14px 20px;font-size: 14px;color: var(--color-text-muted);background: var(--color-bg-muted);border-radius: 10px;margin: 0}
.captain-ship-show__action-notice i {color: var(--color-text-light)}
.captain-ship-show__danger-card {background: #fef2f2;border: 1px solid #fecaca;border-radius: 12px;padding: 20px;overflow: hidden}
.captain-ship-show__danger-header {display: flex;align-items: center;gap: 8px;font-size: 14px;font-weight: 600;color: #991b1b;margin-bottom: 8px}
.captain-ship-show__danger-text {font-size: 13px;color: #b91c1c;margin: 0 0 16px 0}
.captain-ship-show__danger-btn {display: flex;align-items: center;justify-content: center;gap: 8px;width: 100%;padding: 12px;background: var(--color-danger-dark);color: white;font-size: 14px;font-weight: 600;text-decoration: none;border-radius: 8px;transition: background 0.2s;box-sizing: border-box}
.captain-ship-show__danger-btn:hover {background: #b91c1c}
.captain-ship-show__danger-btn.disabled {background: #d1d5db;color: #6b7280;cursor: not-allowed}
.captain-ship-show__danger-btn.disabled:hover {background: #d1d5db}
.captain-schedules {max-width: 900px;margin: 0 auto;padding: 20px}
.captain-schedules__back {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);font-size: 14px;text-decoration: none;margin-bottom: 20px;transition: color 0.2s}
.captain-schedules__back:hover {color: var(--color-primary)}
.captain-schedules__hero {display: flex;align-items: center;justify-content: space-between;gap: 24px;padding: 24px 28px;background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);border-radius: 16px;margin-bottom: 24px}
.captain-schedules__hero-content {flex: 1}
.captain-schedules__title {display: flex;align-items: center;gap: 12px;font-size: 24px;font-weight: 700;color: white;margin: 0 0 6px 0}
.captain-schedules__title i {color: #60a5fa}
.captain-schedules__subtitle {font-size: 14px;color: rgba(255, 255, 255, 0.8);margin: 0}
.captain-schedules__add-btn {display: inline-flex;align-items: center;gap: 8px;padding: 12px 20px;background: white;color: #1e3a5f;font-size: 14px;font-weight: 600;text-decoration: none;border-radius: 10px;transition: all 0.2s}
.captain-schedules__add-btn:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)}
.captain-schedules__alert {display: flex;align-items: center;gap: 12px;padding: 14px 20px;background: #fef3c7;color: #92400e;border-radius: 10px;font-size: 14px;font-weight: 500;margin-bottom: 20px}
.captain-schedules__alert i {color: var(--color-warning)}
.captain-schedules__alert.warning {background: #fee2e2;color: #991b1b}
.captain-schedules__alert.warning i {color: var(--color-danger-dark)}
.captain-schedules__list {display: flex;flex-direction: column;gap: 12px}
.captain-schedules__section {margin-bottom: 24px}
.captain-schedules__section-title {font-size: 18px;font-weight: 700;color: var(--color-text-primary);margin: 0 0 12px;display: flex;align-items: center;gap: 8px}
.captain-schedule-card-v2 {display: grid;grid-template-columns: 100px 1fr auto;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);text-decoration: none;overflow: hidden;transition: all 0.2s}
.captain-schedule-card-v2:hover {box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);transform: translateY(-2px)}
.captain-schedule-card-v2.past {opacity: 0.6}
.captain-schedule-card-v2.today {box-shadow: 0 0 0 2px #fbbf24, 0 4px 16px rgba(251, 191, 36, 0.3)}
.captain-schedule-card-v2__date {display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 16px 12px;background: #1e3a5f;color: white;gap: 2px}
.captain-schedule-card-v2__month {font-size: 14px;font-weight: 500;opacity: 0.9}
.captain-schedule-card-v2__month small {font-size: 11px}
.captain-schedule-card-v2__day {font-size: 32px;font-weight: 700;line-height: 1}
.captain-schedule-card-v2__weekday {font-size: 13px;font-weight: 500;margin-top: 2px}
.captain-schedule-card-v2__date.sunday .captain-schedule-card-v2__weekday {color: #f87171}
.captain-schedule-card-v2__date.saturday .captain-schedule-card-v2__weekday {color: #60a5fa}
.captain-schedule-card-v2__today-badge {margin-top: 6px;padding: 3px 10px;background: #fbbf24;color: var(--color-text-primary);font-size: 11px;font-weight: 700;border-radius: 10px}
.captain-schedule-card-v2__main {display: flex;flex-direction: column;gap: 10px;padding: 16px 20px}
.captain-schedule-card-v2__header {display: flex;align-items: center;justify-content: space-between;gap: 12px}
.captain-schedule-card-v2__fish {font-size: 16px;font-weight: 600;color: var(--color-text-primary)}
.captain-schedule-card-v2__fish i {color: var(--color-warning);margin-right: 6px}
.captain-schedule-card-v2__details {display: flex;flex-wrap: wrap;gap: 16px;font-size: 14px;color: var(--color-text-secondary)}
.captain-schedule-card-v2__details i {margin-right: 4px;color: var(--color-text-light)}
.captain-schedule-card-v2__reservations {display: flex;align-items: center;gap: 16px}
.captain-schedule-card-v2__capacity {display: flex;align-items: center;gap: 10px;flex: 1;max-width: 200px}
.captain-schedule-card-v2__capacity-bar {flex: 1;height: 6px;background: var(--color-border);border-radius: 3px;overflow: hidden}
.captain-schedule-card-v2__capacity-fill {height: 100%;background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius: 3px}
.captain-schedule-card-v2__capacity-text {font-size: 13px;font-weight: 600;color: var(--color-text-secondary);white-space: nowrap}
.captain-schedule-card-v2__capacity.below-minimum .captain-schedule-card-v2__capacity-bar {background: #fef3c7}
.captain-schedule-card-v2__capacity.below-minimum .captain-schedule-card-v2__capacity-fill {background: linear-gradient(90deg, var(--color-warning) 0%, #d97706 100%)}
.captain-schedule-card-v2__capacity.below-minimum .captain-schedule-card-v2__capacity-text {color: #b45309}
.captain-schedule-card-v2__minimum-warning {display: inline-flex;align-items: center;gap: 4px;padding: 2px 8px;font-size: 11px;font-weight: 600;color: #b45309;background: #fef3c7;border-radius: 10px;white-space: nowrap}
.captain-schedule-card-v2__minimum-warning i {font-size: 10px}
.captain-schedule-card-v2__badges {display: flex;gap: 8px}
.captain-schedule-card-v2__badge {display: inline-flex;align-items: center;gap: 4px;padding: 4px 10px;font-size: 12px;font-weight: 500;border-radius: 12px}
.captain-schedule-card-v2__badge.confirmed {background: #dcfce7;color: #166534}
.captain-schedule-card-v2__badge.pending {background: #fef3c7;color: #92400e}
.captain-schedule-card-v2__empty {font-size: 13px;color: var(--color-text-light)}
.captain-schedule-card-v2__note {font-size: 13px;color: var(--color-text-muted)}
.captain-schedule-card-v2__note i {margin-right: 4px;color: var(--color-text-light)}
.captain-schedule-card-v2__arrow {display: flex;align-items: center;justify-content: center;padding: 0 16px;color: var(--color-text-light)}
.captain-schedules__empty {display: flex;flex-direction: column;align-items: center;text-align: center;padding: 60px 20px;background: white;border-radius: 16px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06)}
.captain-schedules__empty-icon {width: 80px;height: 80px;display: flex;align-items: center;justify-content: center;background: var(--color-bg-secondary);border-radius: 50%;margin-bottom: 20px}
.captain-schedules__empty-icon i {font-size: 36px;color: var(--color-text-light)}
.captain-schedules__empty h2 {font-size: 20px;color: var(--color-text-primary);margin: 0 0 8px 0}
.captain-schedules__empty p {font-size: 15px;color: var(--color-text-muted);margin: 0 0 24px 0}
.captain-reservation-show {max-width: var(--layout-width-wide);margin: 0 auto;padding: 20px}
.captain-reservation-show__back {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);font-size: 14px;text-decoration: none;margin-bottom: 20px;transition: color 0.2s}
.captain-reservation-show__back:hover {color: var(--color-primary)}
.captain-reservation-show__hero {display: flex;align-items: center;justify-content: space-between;gap: 24px;padding: 24px 28px;background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);border-radius: 16px;margin-bottom: 24px}
.captain-reservation-show__date {display: flex;align-items: baseline;gap: 4px;color: white}
.captain-reservation-show__month {font-size: 20px;font-weight: 500}
.captain-reservation-show__month small {font-size: 14px}
.captain-reservation-show__day {font-size: 48px;font-weight: 700;line-height: 1}
.captain-reservation-show__weekday {font-size: 16px;font-weight: 500;margin-left: 8px}
.captain-reservation-show__date.sunday .captain-reservation-show__weekday {color: #f87171}
.captain-reservation-show__date.saturday .captain-reservation-show__weekday {color: #60a5fa}
.captain-reservation-show__hero-right {display: flex;flex-direction: column;align-items: flex-end;gap: 12px}
.captain-reservation-show__summary {display: flex;gap: 20px;color: white}
.captain-reservation-show__people {font-size: 24px;font-weight: 700}
.captain-reservation-show__price {font-size: 24px;font-weight: 700}
.captain-reservation-show__grid {display: grid;grid-template-columns: 1fr 340px;gap: 24px;align-items: start}
.captain-reservation-show__main {display: flex;flex-direction: column;gap: 20px}
.captain-reservation-show__card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);padding: 20px}
.captain-reservation-show__card.cancelled {background: #fef2f2;border: 1px solid #fecaca}
.captain-reservation-show__card-header {display: flex;align-items: center;gap: 10px;font-size: 16px;font-weight: 600;color: #334155;margin-bottom: 16px;padding-bottom: 12px;border-bottom: 1px solid var(--color-border)}
.captain-reservation-show__card-header i {color: var(--color-primary)}
.captain-reservation-show__card.cancelled .captain-reservation-show__card-header {border-bottom-color: #fecaca}
.captain-reservation-show__card.cancelled .captain-reservation-show__card-header i {color: var(--color-danger-dark)}
.captain-reservation-show__user-name {margin-bottom: 16px}
.captain-reservation-show__name-display {font-size: 20px;font-weight: 700;color: var(--color-text-primary)}
.captain-reservation-show__real-name {font-size: 14px;color: var(--color-text-muted);margin-left: 8px}
.captain-reservation-show__contact-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px}
.captain-reservation-show__contact-item {display: flex;flex-direction: column;gap: 4px}
.captain-reservation-show__contact-label {font-size: 12px;color: var(--color-text-muted);text-transform: uppercase;letter-spacing: 0.5px}
.captain-reservation-show__phone {display: inline-flex;align-items: center;gap: 6px;font-size: 16px;font-weight: 600;color: var(--color-primary);text-decoration: none}
.captain-reservation-show__phone:hover {text-decoration: underline}
.captain-reservation-show__warning {display: flex;align-items: center;gap: 10px;margin-top: 16px;padding: 12px;background: #fef3c7;color: #92400e;font-size: 14px;border-radius: 8px}
.captain-reservation-show__warning i {color: var(--color-warning)}
.captain-reservation-show__info-row {display: flex;justify-content: space-between;padding: 10px 0;border-bottom: 1px solid var(--color-border-light)}
.captain-reservation-show__info-row:last-child {border-bottom: none}
.captain-reservation-show__info-label {font-size: 14px;color: var(--color-text-muted)}
.captain-reservation-show__info-value {font-size: 14px;font-weight: 500;color: var(--color-text-primary)}
.captain-reservation-show__info-value.time {font-size: 18px;font-weight: 700;font-family: "SF Mono", "Monaco", monospace}
.captain-reservation-show__info-value.fish {color: var(--color-warning)}
.captain-reservation-show__detail-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px;margin-bottom: 16px}
.captain-reservation-show__detail-item {display: flex;flex-direction: column;align-items: center;padding: 16px;background: var(--color-bg-muted);border-radius: 10px}
.captain-reservation-show__detail-label {font-size: 12px;color: var(--color-text-muted);margin-bottom: 4px}
.captain-reservation-show__detail-value {font-size: 28px;font-weight: 700;color: var(--color-text-primary)}
.captain-reservation-show__detail-value small {font-size: 14px;font-weight: 500}
.captain-reservation-show__detail-value.price {color: var(--color-primary-dark)}
.captain-reservation-show__price-breakdown {margin-bottom: 16px}
.captain-reservation-show__price-table {width: 100%;border-collapse: collapse;font-size: 14px}
.captain-reservation-show__price-table th,
.captain-reservation-show__price-table td {padding: 10px 12px;text-align: right}
.captain-reservation-show__price-table th:first-child,
.captain-reservation-show__price-table td:first-child {text-align: left}
.captain-reservation-show__price-table thead th {font-size: 12px;font-weight: 500;color: var(--color-text-muted);background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border)}
.captain-reservation-show__price-table tbody td {border-bottom: 1px solid var(--color-border-light)}
.captain-reservation-show__price-table tbody tr.female td:first-child {color: #be185d}
.captain-reservation-show__price-table tbody tr.child td:first-child {color: #1d4ed8}
.captain-reservation-show__price-table tfoot td {font-weight: 600;background: var(--color-bg-muted);border-top: 2px solid var(--color-border)}
.captain-reservation-show__price-table tfoot td:last-child {color: var(--color-primary-dark)}
.captain-reservation-show__note {margin-top: 16px;padding-top: 16px;border-top: 1px dashed var(--color-border)}
.captain-reservation-show__note-content {margin-top: 8px;padding: 12px;background: var(--color-bg-muted);border-radius: 8px;font-size: 14px;color: var(--color-text-secondary);line-height: 1.6}
.captain-reservation-show__note-content p {margin: 0}
.captain-reservation-show__sidebar {display: flex;flex-direction: column;gap: 16px}
.captain-reservation-show__action-card {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);padding: 20px}
.captain-reservation-show__action-card.approve {background: #f0fdf4;border: 1px solid #86efac}
.captain-reservation-show__action-card.reject {background: #fef2f2;border: 1px solid #fecaca}
.captain-reservation-show__action-header {display: flex;align-items: center;gap: 8px;font-size: 15px;font-weight: 600;color: #334155;margin-bottom: 12px}
.captain-reservation-show__action-header i {color: var(--color-primary)}
.captain-reservation-show__action-header.approve {color: #166534}
.captain-reservation-show__action-header.approve i {color: var(--color-success)}
.captain-reservation-show__action-header.reject {color: #991b1b}
.captain-reservation-show__action-header.reject i {color: var(--color-danger-dark)}
.captain-reservation-show__action-desc {font-size: 13px;color: var(--color-text-muted);margin: 0 0 16px 0}
.captain-reservation-show__action-btn {display: flex;align-items: center;justify-content: center;gap: 8px;width: 100%;padding: 14px 20px;font-size: 15px;font-weight: 600;border: none;border-radius: 10px;cursor: pointer;transition: all 0.2s}
.captain-reservation-show__action-btn.approve {background: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);color: white}
.captain-reservation-show__action-btn.approve:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3)}
.captain-reservation-show__action-btn.reject {background: var(--color-danger-dark);color: white}
.captain-reservation-show__action-btn.reject:hover {background: #b91c1c}
.captain-reservation-show__action-btn.complete {background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white}
.captain-reservation-show__action-btn.complete:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3)}
.captain-reservation-show__action-btn.no-show {background: var(--color-bg-secondary);color: var(--color-text-muted);border: 1px solid var(--color-border)}
.captain-reservation-show__action-btn.no-show:hover {background: #fee2e2;color: var(--color-danger-dark);border-color: #fecaca}
.captain-reservation-show__action-buttons {display: flex;flex-direction: column;gap: 10px}
.captain-reservation-show__reject-form {display: flex;flex-direction: column;gap: 12px}
.captain-reservation-show__form-group label {display: block;font-size: 13px;color: var(--color-text-muted);margin-bottom: 6px}
.captain-reservation-show__form-group textarea {width: 100%;padding: 10px 12px;font-size: 14px;border: 1px solid var(--color-border);border-radius: 8px;resize: vertical;box-sizing: border-box}
.captain-reservation-show__form-group textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.captain-reservation-show__status-card {display: flex;flex-direction: column;align-items: center;gap: 8px;padding: 24px 20px;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);text-align: center}
.captain-reservation-show__status-card i {font-size: 32px}
.captain-reservation-show__status-card span {font-size: 16px;font-weight: 600}
.captain-reservation-show__status-card p {font-size: 13px;color: var(--color-text-muted);margin: 0}
.captain-reservation-show__status-card.completed {background: #f0fdf4;border: 1px solid #86efac}
.captain-reservation-show__status-card.completed i {color: var(--color-success)}
.captain-reservation-show__status-card.completed span {color: #166534}
.captain-reservation-show__status-card.no-show {background: #fef2f2;border: 1px solid #fecaca}
.captain-reservation-show__status-card.no-show i {color: var(--color-danger-dark)}
.captain-reservation-show__status-card.no-show span {color: #991b1b}
.captain-reservation-show__status-card.cancelled {background: var(--color-bg-secondary)}
.captain-reservation-show__status-card.cancelled i {color: var(--color-text-light)}
.captain-reservation-show__status-card.cancelled span {color: var(--color-text-muted)}
.captain-reservation-show__status-card.confirmed {background: #eff6ff;border: 1px solid #bfdbfe}
.captain-reservation-show__status-card.confirmed i {color: var(--color-primary)}
.captain-reservation-show__status-card.confirmed span {color: #1e40af}
@media (max-width: 900px) {.captain-ship-show__grid,
.captain-reservation-show__grid {grid-template-columns: 1fr}
.captain-ship-show__sidebar,
.captain-reservation-show__sidebar {order: -1}}
@media (max-width: 768px) {.captain-dashboard__hero,
.captain-schedules__hero,
.captain-reservation-show__hero {flex-direction: column;text-align: center;padding: 20px}
.captain-dashboard__hero-actions {flex-direction: column;width: 100%;gap: 8px}
.captain-dashboard__add-btn,
.captain-schedules__add-btn {width: 100%;justify-content: center}
.captain-dashboard__manual-btn {width: 100%;justify-content: center;padding: 12px 20px}
.captain-dashboard__ships {grid-template-columns: 1fr}
.captain-ship-show__hero {height: 220px}
.captain-ship-show__title {font-size: 22px}
.captain-ship-show__info-grid {grid-template-columns: 1fr}
.captain-schedule-card-v2 {grid-template-columns: 80px 1fr}
.captain-schedule-card-v2__arrow {display: none}
.captain-schedule-card-v2__day {font-size: 26px}
.captain-schedule-card-v2__reservations {flex-direction: column;align-items: flex-start;gap: 8px}
.captain-schedule-card-v2__capacity {max-width: none;width: 100%}
.captain-reservation-show__hero-right {align-items: center}
.captain-reservation-show__day {font-size: 36px}
.captain-reservation-show__contact-grid {grid-template-columns: 1fr}
.captain-reservation-show__detail-grid {grid-template-columns: 1fr}}
.captain-schedule-form-page {max-width: var(--layout-width-form);margin: 0 auto;padding: 20px;overflow-x: hidden}
.captain-schedule-form-page__back {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);font-size: 14px;text-decoration: none;margin-bottom: 20px;transition: color 0.2s}
.captain-schedule-form-page__back:hover {color: var(--color-primary)}
.captain-schedule-form-page__hero {display: flex;align-items: center;gap: 24px;padding: 24px 28px;background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);border-radius: 16px;margin-bottom: 24px}
.captain-schedule-form-page__hero.new {justify-content: flex-start}
.captain-schedule-form-page__hero-date {display: flex;flex-direction: column;align-items: center;color: white;min-width: 90px}
.captain-schedule-form-page__month {font-size: 16px;font-weight: 500;opacity: 0.9}
.captain-schedule-form-page__month small {font-size: 12px}
.captain-schedule-form-page__day {font-size: 48px;font-weight: 700;line-height: 1}
.captain-schedule-form-page__weekday {font-size: 14px;font-weight: 500;margin-top: 4px}
.captain-schedule-form-page__hero-date.sunday .captain-schedule-form-page__weekday {color: #f87171}
.captain-schedule-form-page__hero-date.saturday .captain-schedule-form-page__weekday {color: #60a5fa}
.captain-schedule-form-page__hero-icon {width: 64px;height: 64px;display: flex;align-items: center;justify-content: center;background: rgba(255, 255, 255, 0.15);border-radius: 16px}
.captain-schedule-form-page__hero-icon i {font-size: 28px;color: white}
.captain-schedule-form-page__hero-content {flex: 1}
.captain-schedule-form-page__title {font-size: 24px;font-weight: 700;color: white;margin: 0 0 4px 0}
.captain-schedule-form-page__title i {margin-right: 8px;color: #60a5fa}
.captain-schedule-form-page__subtitle {font-size: 14px;color: rgba(255, 255, 255, 0.8);margin: 0}
.captain-schedule-form-page__body {background: white;border-radius: 16px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);padding: 24px;overflow: hidden}
.captain-schedule-form-v2 {display: flex;flex-direction: column;gap: 24px}
.captain-schedule-form-v2 *,
.captain-schedule-form-v2 *::before,
.captain-schedule-form-v2 *::after {box-sizing: border-box}
.captain-schedule-form-v2__errors {display: flex;gap: 16px;padding: 16px 20px;background: #fef2f2;border: 1px solid #fecaca;border-radius: 12px}
.captain-schedule-form-v2__errors-icon {flex-shrink: 0;width: 24px;height: 24px;color: var(--color-danger-dark)}
.captain-schedule-form-v2__errors-content strong {display: block;font-size: 14px;color: #991b1b;margin-bottom: 8px}
.captain-schedule-form-v2__errors-content ul {margin: 0;padding-left: 20px;font-size: 13px;color: #b91c1c}
.captain-schedule-form-v2__errors-content li {margin-bottom: 4px}
.captain-schedule-form-v2__warning {display: flex;align-items: center;gap: 12px;padding: 14px 20px;background: #fef3c7;border: 1px solid #fcd34d;border-radius: 12px;font-size: 14px;color: #92400e}
.captain-schedule-form-v2__warning i {color: var(--color-warning)}
.captain-schedule-form-v2__card {background: var(--color-bg-muted);border-radius: 12px;overflow: hidden}
.captain-schedule-form-v2__card-header {display: flex;align-items: center;gap: 10px;padding: 14px 20px;background: var(--color-bg-secondary);font-size: 15px;font-weight: 600;color: #334155}
.captain-schedule-form-v2__card-header i {color: var(--color-primary)}
.captain-schedule-form-v2__card-body {padding: 20px;display: flex;flex-direction: column;gap: 20px;overflow: hidden}
.captain-schedule-form-v2__field {display: flex;flex-direction: column;gap: 6px}
.captain-schedule-form-v2__field.grow {flex: 1}
.captain-schedule-form-v2__row {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px;width: 100%}
.captain-schedule-form-v2__row > * {min-width: 0}
.captain-schedule-form-v2__label {font-size: 14px;font-weight: 600;color: #334155}
.captain-schedule-form-v2__label.required::after {content: " *";color: var(--color-danger-dark)}
.captain-schedule-form-v2__input,
.captain-schedule-form-v2__select,
.captain-schedule-form-v2__textarea {width: 100%;max-width: 100%;padding: 12px 14px;font-size: 15px;font-size: 16px;border: 1px solid var(--color-border);border-radius: 8px;background: white;transition: all 0.2s}
.captain-schedule-form-v2__input:focus,
.captain-schedule-form-v2__select:focus,
.captain-schedule-form-v2__textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.captain-schedule-form-v2__textarea {resize: vertical;min-height: 80px}
.captain-schedule-form-v2__hint {font-size: 12px;color: var(--color-text-muted);margin: 0}
.captain-schedule-form-v2__charter-note {display: flex;align-items: center;gap: 8px;padding: 12px 16px;background: #f0f9ff;border-radius: 8px;font-size: 14px;color: #0369a1;margin: 0}
.captain-schedule-form-v2__charter-note i {color: #0ea5e9}
.captain-schedule-form-v2__input-group {display: flex;align-items: center;width: 100%;max-width: 100%}
.captain-schedule-form-v2__input-group .captain-schedule-form-v2__input {flex: 1;min-width: 0;border-top-right-radius: 0;border-bottom-right-radius: 0;border-right: none}
.captain-schedule-form-v2__input-suffix {flex-shrink: 0;padding: 12px 14px;background: var(--color-bg-secondary);border: 1px solid var(--color-border);border-left: none;border-radius: 0 8px 8px 0;font-size: 14px;color: var(--color-text-muted);white-space: nowrap}
.captain-schedule-form-v2__locked {display: flex;align-items: center;gap: 8px;padding: 12px 14px;background: var(--color-bg-secondary);border: 1px solid var(--color-border);border-radius: 8px;font-size: 15px;color: var(--color-text-muted)}
.captain-schedule-form-v2__locked i {color: var(--color-text-light)}
.captain-schedule-form-v2__checkboxes {display: grid;grid-template-columns: repeat(2, 1fr);gap: 12px}
.captain-schedule-form-v2__checkbox-item {display: flex;flex-wrap: wrap;align-items: center;gap: 10px;padding: 14px 16px;background: white;border: 1px solid var(--color-border);border-radius: 10px;cursor: pointer;transition: all 0.2s}
.captain-schedule-form-v2__checkbox-item:hover {border-color: var(--color-primary)}
.captain-schedule-form-v2__checkbox-item:has(.captain-schedule-form-v2__checkbox:checked) {background: #eff6ff;border-color: var(--color-primary)}
.captain-schedule-form-v2__checkbox {width: 18px;height: 18px;accent-color: var(--color-primary)}
.captain-schedule-form-v2__checkbox-label {font-size: 14px;font-weight: 600;color: var(--color-text-primary)}
.captain-schedule-form-v2__checkbox-label i {margin-right: 4px;color: var(--color-primary)}
.captain-schedule-form-v2__checkbox-hint {width: 100%;font-size: 12px;color: var(--color-text-muted);padding-left: 28px}
.captain-schedule-form-v2__status-options {display: flex;gap: 12px}
.captain-schedule-form-v2__status-option {flex: 1;position: relative}
.captain-schedule-form-v2__radio {position: absolute;opacity: 0}
.captain-schedule-form-v2__status-label {display: flex;align-items: center;justify-content: center;gap: 8px;padding: 14px 16px;background: white;border: 2px solid var(--color-border);border-radius: 10px;font-size: 14px;font-weight: 600;color: var(--color-text-muted);cursor: pointer;transition: all 0.2s}
.captain-schedule-form-v2__status-label:hover {border-color: var(--color-text-light)}
.captain-schedule-form-v2__radio:checked + .captain-schedule-form-v2__status-label.open {background: #dcfce7;border-color: var(--color-success);color: #166534}
.captain-schedule-form-v2__radio:checked + .captain-schedule-form-v2__status-label.open i {color: var(--color-success)}
.captain-schedule-form-v2__radio:checked + .captain-schedule-form-v2__status-label.full {background: #fef3c7;border-color: var(--color-warning);color: #92400e}
.captain-schedule-form-v2__radio:checked + .captain-schedule-form-v2__status-label.full i {color: var(--color-warning)}
.captain-schedule-form-v2__radio:checked + .captain-schedule-form-v2__status-label.cancelled {background: #fee2e2;border-color: var(--color-danger-dark);color: #991b1b}
.captain-schedule-form-v2__radio:checked + .captain-schedule-form-v2__status-label.cancelled i {color: var(--color-danger-dark)}
.captain-schedule-form-v2__status-option.disabled .captain-schedule-form-v2__status-label {background: var(--color-bg-secondary);border-color: var(--color-border);color: var(--color-text-light);cursor: not-allowed;opacity: 0.6}
.captain-schedule-form-v2__status-option.disabled .captain-schedule-form-v2__status-label:hover {border-color: var(--color-border)}
.captain-schedule-form-v2__locked-checkboxes {display: flex;flex-wrap: wrap;gap: 8px}
.captain-schedule-form-v2__locked-tag {display: inline-flex;align-items: center;gap: 6px;padding: 8px 12px;background: #f0fdf4;border: 1px solid #bbf7d0;border-radius: 8px;font-size: 13px;font-weight: 500;color: #166534}
.captain-schedule-form-v2__locked-tag i {color: var(--color-success)}
.captain-schedule-form-v2__locked-tag.disabled {background: var(--color-bg-muted);border-color: var(--color-border);color: var(--color-text-light)}
.captain-schedule-form-v2__actions {display: flex;justify-content: center;padding-top: 8px}
.captain-schedule-form-v2__submit {display: inline-flex;align-items: center;justify-content: center;min-width: 200px;padding: 16px 32px;background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white;font-size: 16px;font-weight: 600;border: none;border-radius: 12px;cursor: pointer;transition: all 0.2s}
.captain-schedule-form-v2__submit:hover {transform: translateY(-2px);box-shadow: 0 4px 16px rgba(37, 99, 235, 0.4)}
@media (max-width: 640px) {.captain-schedule-form-page {padding: 16px}
.captain-schedule-form-page__hero {flex-direction: column;text-align: center;padding: 20px}
.captain-schedule-form-page__day {font-size: 36px}
.captain-schedule-form-page__body {padding: 16px}
.captain-schedule-form-v2__row {grid-template-columns: 1fr}
.captain-schedule-form-v2__checkboxes {grid-template-columns: 1fr}
.captain-schedule-form-v2__status-options {flex-direction: column}
.captain-schedule-form-v2__submit {width: 100%}}
.reservations-container,
.reservation-detail-container,
.reservation-form-container {max-width: var(--layout-width-compact);margin: 0 auto;padding: 20px}
.reservations-header,
.reservation-detail-header,
.reservation-form-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 24px}
.reservations-header h1,
.reservation-detail-header h1,
.reservation-form-header h1 {font-size: 1.5em;color: var(--color-text-primary);display: flex;align-items: center;gap: 10px;margin: 0}
.reservations-header h1 i,
.reservation-detail-header h1 i,
.reservation-form-header h1 i {color: var(--color-primary)}
.reservations-list {display: flex;flex-direction: column;gap: 12px}
.reservations-tabs {display: flex;align-items: center;gap: 6px;padding: 6px;border-radius: 999px;background: var(--color-bg-secondary);border: 1px solid var(--color-border);margin-bottom: 18px}
.reservations-tab {flex: 1;border: none;background: transparent;border-radius: 999px;padding: 8px 12px;font-size: 14px;font-weight: 600;color: var(--color-text-muted);cursor: pointer;display: flex;align-items: center;justify-content: center;gap: 6px;transition: all 0.2s}
.reservations-tab:hover {color: var(--color-text-primary)}
.reservations-tab.is-active {background: #ffffff;color: var(--color-text-primary);box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12)}
.reservations-tab-count {font-size: 12px;font-weight: 600;color: var(--color-text-secondary);background: var(--color-border);border-radius: 999px;padding: 2px 8px}
.reservations-tab.is-active .reservations-tab-count {background: #dbeafe;color: #1d4ed8}
.reservations-section {display: flex;flex-direction: column;gap: 12px;margin-bottom: 24px}
.reservations-section.is-hidden {display: none}
.reservations-section-empty {margin: 0;font-size: 13px;color: var(--color-text-muted)}
.reservation-card {display: flex;align-items: center;gap: 16px;padding: 16px;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);border-left: 4px solid var(--color-primary);text-decoration: none;transition: all 0.2s}
.reservation-card.past {background: var(--color-bg-muted);box-shadow: none}
.reservation-card.past .reservation-card-day {color: var(--color-text-muted)}
.reservation-card:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12)}
.reservation-card.pending {border-left-color: var(--color-warning)}
.reservation-card.confirmed {border-left-color: var(--color-success)}
.reservation-card.cancelled {border-left-color: var(--color-danger);opacity: 0.7}
.reservation-card.completed {border-left-color: #6366f1;opacity: 0.8}
.reservation-card.no_show {border-left-color: var(--color-text-muted);opacity: 0.6}
.reservation-card-date {display: flex;flex-direction: column;align-items: center;min-width: 70px;padding-right: 16px;border-right: 1px solid var(--color-border)}
.reservation-card-month {font-size: 12px;color: var(--color-text-muted)}
.reservation-card-day {font-size: 28px;font-weight: 700;color: var(--color-text-primary);line-height: 1}
.reservation-card-weekday {font-size: 12px;color: var(--color-text-muted)}
.reservation-card-info {flex: 1;display: flex;flex-direction: column;gap: 6px}
.reservation-card-ship {font-size: 15px;font-weight: 600;color: var(--color-text-primary);display: flex;align-items: center;gap: 6px}
.reservation-card-ship i {color: var(--color-primary)}
.reservation-card-time {font-size: 13px;color: var(--color-text-secondary);display: flex;align-items: center;gap: 6px}
.reservation-card-time i {color: var(--color-text-muted)}
.reservation-card-details {display: flex;gap: 16px;font-size: 13px;color: var(--color-text-muted)}
.reservation-card-details i {margin-right: 4px}
.reservation-card-status {min-width: 80px;text-align: center}
.status-badge {display: inline-block;font-size: 12px;padding: 4px 12px;border-radius: var(--radius-md);font-weight: 500}
.status-badge.pending {background: var(--color-status-pending-bg);color: var(--color-status-pending-text)}
.status-badge.confirmed {background: var(--color-status-confirmed-bg);color: var(--color-status-confirmed-text)}
.status-badge.cancelled {background: var(--color-status-cancelled-bg);color: var(--color-status-cancelled-text)}
.status-badge.completed {background: var(--color-status-completed-bg);color: var(--color-status-completed-text)}
.status-badge.no_show {background: var(--color-status-no-show-bg);color: var(--color-status-no-show-text)}
.status-badge.large {font-size: 14px;padding: 6px 16px}
.status-badge.small {font-size: 11px;padding: 2px 8px}
.reservation-card-arrow {color: #cbd5e1}
.reservations-empty {text-align: center;padding: 60px 20px;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.reservations-empty-icon {font-size: 48px;color: #cbd5e1;margin-bottom: 16px}
.reservations-empty p {color: var(--color-text-muted);margin: 0 0 8px}
.reservations-empty-hint {font-size: 14px;color: var(--color-text-light)}
.reservations-empty .btn {margin-top: 16px}
.reservation-detail-card {background: white;border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);margin-bottom: 16px}
.reservation-detail-card h2 {font-size: 1em;color: var(--color-text-primary);margin: 0 0 16px;display: flex;align-items: center;gap: 8px}
.reservation-detail-card h2 i {color: var(--color-primary)}
.reservation-detail-card.cancelled {background: #fef2f2}
.reservation-detail-card.cancelled h2 i {color: var(--color-danger)}
.reservation-detail-list {display: grid;grid-template-columns: 100px 1fr;gap: 12px 16px;margin: 0}
.reservation-detail-list dt {font-size: 13px;color: var(--color-text-muted)}
.reservation-detail-list dd {font-size: 14px;color: var(--color-text-primary);margin: 0}
.reservation-ship-link {color: var(--color-primary);text-decoration: none}
.reservation-ship-link:hover {text-decoration: underline}
.reservation-ship-link i {font-size: 11px;margin-left: 4px}
.reservation-detail-text {font-size: 14px;color: var(--color-text-secondary);line-height: 1.7}
.reservation-detail-text p {margin: 0 0 8px}
.reservation-detail-text p:last-child {margin-bottom: 0}
.reservation-price {font-size: 18px !important;font-weight: 700;color: var(--color-primary) !important}
.reservation-detail-actions {margin-top: 24px}
.reservation-cancel-deadline {margin: 0 0 12px;padding: 12px 16px;background-color: #fef3c7;border-radius: 8px;color: #92400e;font-size: 14px}
.reservation-cancel-deadline i {margin-right: 8px}
.reservation-cancel-closed {margin: 0;padding: 12px 16px;background-color: #f3f4f6;border-radius: 8px;color: #6b7280;font-size: 14px}
.reservation-cancel-closed i {margin-right: 8px}
.reservation-schedule-card {display: flex;align-items: stretch;gap: 20px;background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius: 16px;padding: 20px;margin-bottom: 16px;color: white}
.reservation-schedule-date {display: flex;flex-direction: column;align-items: center;justify-content: center;min-width: 80px;padding-right: 20px;border-right: 1px solid rgba(255, 255, 255, 0.3)}
.reservation-schedule-month {font-size: 14px;opacity: 0.9}
.reservation-schedule-day {font-size: 42px;font-weight: 700;line-height: 1;margin: 4px 0}
.reservation-schedule-weekday {font-size: 14px;opacity: 0.9}
.reservation-schedule-info {flex: 1;display: flex;flex-direction: column;justify-content: center;gap: 8px}
.reservation-schedule-time {display: flex;align-items: center;gap: 8px;font-size: 18px;font-weight: 600}
.reservation-schedule-time i {opacity: 0.9}
.reservation-schedule-ship {display: flex;align-items: center;gap: 8px;font-size: 15px}
.reservation-schedule-ship i {opacity: 0.9}
.reservation-schedule-ship a {color: white;text-decoration: none}
.reservation-schedule-ship a:hover {text-decoration: underline}
.reservation-schedule-location {display: flex;align-items: center;gap: 8px;font-size: 14px;opacity: 0.9}
.reservation-detail-card.with-image {padding: 0;overflow: hidden}
.reservation-ship-image {width: 100%;height: 200px;overflow: hidden}
.reservation-ship-image img {width: 100%;height: 100%;object-fit: cover}
.reservation-ship-info {padding: 20px}
.reservation-ship-info h2 {margin: 0 0 8px}
.reservation-ship-description {font-size: 14px;color: var(--color-text-muted);margin: 0 0 16px;line-height: 1.6}
.reservation-ship-link-btn {display: inline-flex;align-items: center;gap: 6px;padding: 8px 16px;background: var(--color-bg-secondary);color: var(--color-primary);border-radius: 8px;text-decoration: none;font-size: 14px;font-weight: 500;transition: all 0.2s}
.reservation-ship-link-btn:hover {background: var(--color-border)}
.reservation-detail-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px}
.reservation-detail-item {display: flex;flex-direction: column;gap: 4px}
.reservation-detail-item label {font-size: 12px;color: var(--color-text-muted);display: flex;align-items: center;gap: 6px}
.reservation-detail-item label i {color: var(--color-text-light)}
.reservation-detail-item span {font-size: 15px;color: var(--color-text-primary);font-weight: 500}
.reservation-price-value {font-size: 18px !important;color: var(--color-primary) !important;font-weight: 700 !important}
.reservation-detail-note {margin-top: 16px;padding-top: 16px;border-top: 1px solid var(--color-border)}
.reservation-detail-note label {display: flex;align-items: center;gap: 6px;font-size: 12px;color: var(--color-text-muted);margin-bottom: 8px}
.reservation-detail-note label i {color: var(--color-text-light)}
.reservation-detail-note p {font-size: 14px;color: var(--color-text-secondary);margin: 0;line-height: 1.6}
.reservation-passenger-breakdown {margin-top: 20px;padding: 16px;background: var(--color-bg-muted);border-radius: 10px}
.reservation-passenger-breakdown h3 {font-size: 14px;font-weight: 600;color: #334155;margin: 0 0 12px 0}
.reservation-breakdown-table {width: 100%;border-collapse: collapse;font-size: 14px}
.reservation-breakdown-table th,
.reservation-breakdown-table td {padding: 8px 12px;text-align: right;border-bottom: 1px solid var(--color-border)}
.reservation-breakdown-table th:first-child,
.reservation-breakdown-table td:first-child {text-align: left}
.reservation-breakdown-table thead th {font-size: 12px;font-weight: 500;color: var(--color-text-muted);background: var(--color-bg-secondary)}
.reservation-breakdown-table tbody tr.female td {background: #fdf2f8;color: #be185d}
.reservation-breakdown-table tbody tr.child td {background: #eff6ff;color: #1d4ed8}
.reservation-breakdown-table tfoot th {font-size: 14px;font-weight: 700;color: #059669;background: #ecfdf5}
.reservation-detail-card.pending-notice {display: flex;align-items: flex-start;gap: 16px;background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);border: 1px solid var(--color-warning)}
.reservation-pending-icon {width: 48px;height: 48px;background: var(--color-warning);border-radius: 50%;display: flex;align-items: center;justify-content: center;flex-shrink: 0}
.reservation-pending-icon i {color: white;font-size: 20px}
.reservation-pending-content h3 {font-size: 16px;color: #92400e;margin: 0 0 8px}
.reservation-pending-content p {font-size: 14px;color: #78350f;margin: 0;line-height: 1.6}
.reservation-pending-hint {margin-top: 8px !important;font-size: 13px !important;opacity: 0.8}
.reservation-location-map {margin-bottom: 16px}
.reservation-map-container {width: 100%;height: 200px;border-radius: 8px;overflow: hidden}
.reservation-form-schedule-info {background: white;border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);margin-bottom: 20px}
.reservation-schedule-info h2 {font-size: 1.2em;color: var(--color-text-primary);margin: 0 0 16px;display: flex;align-items: center;gap: 8px}
.reservation-schedule-info h2 i {color: var(--color-primary)}
.reservation-schedule-details {display: grid;grid-template-columns: 80px 1fr;gap: 8px 16px;margin: 0}
.reservation-schedule-details dt {font-size: 13px;color: var(--color-text-muted)}
.reservation-schedule-details dd {font-size: 14px;color: var(--color-text-primary);margin: 0}
.reservation-form {background: white;border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.reservation-price-preview {background: #f0f9ff;border: 2px solid var(--color-primary);border-radius: 12px;padding: 20px;text-align: center;margin: 20px 0}
.reservation-price-label {font-size: 13px;color: var(--color-text-muted);margin-bottom: 4px}
.reservation-price-value {font-size: 28px;font-weight: 700;color: var(--color-primary)}
.reservation-price-note {font-size: 12px;color: var(--color-text-muted);margin-top: 8px}
.reservation-price-list {display: flex;flex-wrap: wrap;gap: 8px}
.reservation-price-item {display: inline-flex;align-items: center;padding: 4px 10px;background: var(--color-bg-secondary);border-radius: 6px;font-size: 14px;font-weight: 500}
.reservation-price-item.female {background: #fce7f3;color: #be185d}
.reservation-price-item.child {background: #dbeafe;color: #1d4ed8}
.reservation-passenger-counts {background: var(--color-bg-muted);border: 1px solid var(--color-border);border-radius: 12px;padding: 20px;margin-bottom: 20px}
.reservation-passenger-counts-header {display: flex;align-items: center;gap: 8px;font-weight: 600;font-size: 15px;color: var(--color-text-primary);margin-bottom: 16px}
.reservation-passenger-counts-header i {color: var(--color-primary)}
.reservation-passenger-row {display: flex;gap: 16px;flex-wrap: wrap}
.reservation-passenger-item {flex: 1;min-width: 100px;background: white;border: 1px solid var(--color-border);border-radius: 10px;padding: 12px;text-align: center}
.reservation-passenger-item.female {border-color: #f9a8d4;background: #fdf2f8}
.reservation-passenger-item.child {border-color: #93c5fd;background: #eff6ff}
.reservation-passenger-label-row {display: flex;align-items: center;gap: 6px;margin-bottom: 4px}
.reservation-passenger-label {font-weight: 600;font-size: 14px;color: #334155}
.reservation-passenger-item.female .reservation-passenger-label {color: #be185d}
.reservation-passenger-item.child .reservation-passenger-label {color: #1d4ed8}
.reservation-passenger-price {font-size: 13px;color: var(--color-text-muted);margin-bottom: 8px}
.reservation-passenger-age {font-size: 10px;font-weight: 600;color: #1d4ed8;background: #dbeafe;padding: 2px 8px;border-radius: 10px}
.reservation-passenger-select {width: 100%;text-align: center;font-size: 16px;font-weight: 600}
.reservation-passenger-total {margin-top: 16px;padding-top: 12px;border-top: 1px solid var(--color-border);font-size: 15px;font-weight: 600;color: #334155}
.reservation-passenger-error {display: inline-flex;align-items: center;gap: 4px;margin-left: 12px;color: var(--color-danger-dark);font-size: 13px}
.reservation-charter-notice {display: flex;align-items: center;gap: 12px;padding: 16px;background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);border: 1px solid var(--color-warning);border-radius: 8px;margin-bottom: 20px;color: #92400e;font-weight: 500}
.reservation-charter-notice i {font-size: 24px;color: #d97706}
.reservation-price-item.charter {background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);color: #92400e;font-weight: 600}
.schedule-card__price-main--charter .schedule-card__price-label {color: #d97706;font-weight: 600}
.reservation-real-name-section {background: #fffbeb;border: 1px solid #fbbf24;border-radius: 12px;padding: 20px;margin-bottom: 20px}
.reservation-real-name-header {display: flex;align-items: center;gap: 10px;font-weight: 600;color: #92400e;margin-bottom: 12px;font-size: 16px}
.reservation-real-name-header i {color: var(--color-warning);font-size: 20px}
.reservation-real-name-notice {margin-bottom: 16px}
.reservation-real-name-notice p {margin: 0 0 8px;font-size: 14px;color: #78350f;display: flex;align-items: flex-start;gap: 8px}
.reservation-real-name-notice p i {margin-top: 2px;flex-shrink: 0}
.reservation-real-name-privacy {font-size: 13px !important;color: #92400e !important;background: rgba(251, 191, 36, 0.2);padding: 10px 12px;border-radius: 8px}
.reservation-real-name-section .form-group {margin-bottom: 0}
.reservation-real-name-section .form-label {font-weight: 600;color: #78350f;margin-bottom: 8px;display: block}
.reservation-real-name-section .form-control {border-color: #fbbf24}
.reservation-real-name-section .form-control:focus {border-color: var(--color-warning);box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2)}
.reservation-terms {background: #ffffff;border: 1px solid var(--color-border);border-radius: 12px;margin: 24px 0;overflow: hidden}
.reservation-terms-header {background: var(--color-bg-muted);padding: 12px 16px;display: flex;align-items: center;gap: 10px;font-weight: 600;color: var(--color-text-secondary);border-bottom: 1px solid var(--color-border)}
.reservation-terms-header i {color: var(--color-warning);font-size: 18px}
.reservation-terms-content {padding: 16px}
.reservation-terms-content > p {margin: 0 0 16px 0;font-size: 14px;color: var(--color-text-muted)}
.reservation-terms-items {display: flex;flex-direction: column;gap: 8px}
.reservation-terms-item {display: flex;align-items: flex-start;gap: 10px;cursor: pointer;padding: 10px 12px;background: var(--color-bg-muted);border-radius: 8px;border: 1px solid transparent;transition: all 0.2s}
.reservation-terms-item:hover {background: var(--color-bg-secondary)}
.reservation-terms-item input[type="checkbox"] {width: 18px;height: 18px;margin: 0;flex-shrink: 0;margin-top: 1px;accent-color: var(--color-primary);cursor: pointer}
.reservation-terms-item span {font-size: 14px;color: var(--color-text-secondary);line-height: 1.5}
.reservation-terms-item:has(input:checked) {background: #eff6ff;border-color: #bfdbfe}
.reservation-terms-item:has(input:checked) span {color: #1e40af}
.reservation-terms .form-actions {padding: 16px;padding-top: 0}
.reservation-terms .btn:disabled {background: #cbd5e1;color: var(--color-text-light);cursor: not-allowed;transform: none;box-shadow: none}
.reservation-terms .btn:disabled:hover {background: #cbd5e1;transform: none;box-shadow: none}
.reservation-mgmt {max-width: 600px;margin: 0 auto;padding: 16px;min-height: 100vh;background: var(--color-bg-muted)}
.reservation-mgmt-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 20px}
.reservation-mgmt-header h1 {font-size: 20px;font-weight: 700;color: var(--color-text-primary);margin: 0}
.reservation-mgmt-header p {font-size: 13px;color: var(--color-text-muted);margin: 2px 0 0}
.reservation-mgmt-back {width: 40px;height: 40px;display: flex;align-items: center;justify-content: center;background: white;border-radius: 10px;color: var(--color-text-muted);text-decoration: none;box-shadow: 0 1px 3px rgba(0,0,0,0.1)}
.reservation-mgmt-back:hover {background: var(--color-bg-secondary)}
.reservation-mgmt-empty {text-align: center;padding: 60px 20px;background: white;border-radius: 16px}
.reservation-mgmt-empty i {font-size: 48px;color: #cbd5e1;margin-bottom: 16px}
.reservation-mgmt-empty p {color: var(--color-text-muted);margin: 0}
.reservation-mgmt-alert {background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);border-radius: 16px;margin-bottom: 20px;overflow: hidden}
.reservation-mgmt-alert-header {padding: 14px 16px;display: flex;align-items: center;gap: 10px;font-weight: 600;font-size: 15px;color: #92400e}
.reservation-mgmt-alert-header i {font-size: 18px}
.reservation-mgmt-alert-list {display: flex;flex-direction: column;gap: 12px;padding: 0 12px 12px}
.reservation-pending-card {background: white;border-radius: 12px;overflow: hidden;box-shadow: 0 2px 8px rgba(0,0,0,0.08)}
.reservation-pending-main {display: flex;gap: 16px;padding: 16px}
.reservation-pending-date {display: flex;flex-direction: column;align-items: center;justify-content: center;min-width: 60px;padding: 8px;background: var(--color-bg-muted);border-radius: 10px}
.reservation-pending-date-num {font-size: 28px;font-weight: 700;color: var(--color-text-primary);line-height: 1}
.reservation-pending-date-month {font-size: 12px;color: var(--color-text-muted)}
.reservation-pending-date-week {font-size: 11px;color: var(--color-text-light);margin-top: 2px}
.reservation-pending-info {flex: 1;display: flex;flex-direction: column;gap: 6px}
.reservation-pending-time {font-size: 13px;color: var(--color-text-muted)}
.reservation-pending-time i {margin-right: 4px}
.reservation-pending-customer {display: flex;align-items: baseline;gap: 8px}
.reservation-pending-name {font-size: 18px;font-weight: 600;color: var(--color-text-primary)}
.reservation-pending-people {font-size: 14px;color: var(--color-text-muted)}
.reservation-pending-phone {display: inline-flex;align-items: center;gap: 6px;padding: 6px 12px;background: #eff6ff;color: var(--color-primary-dark);border-radius: 20px;font-size: 14px;font-weight: 500;text-decoration: none;width: fit-content}
.reservation-pending-phone:hover {background: #dbeafe}
.reservation-pending-note {padding: 0 16px 12px;font-size: 13px;color: var(--color-text-muted);background: var(--color-bg-muted);margin: 0;border-top: 1px solid var(--color-border);padding-top: 12px}
.reservation-pending-note i {margin-right: 8px;color: var(--color-text-light)}
.reservation-pending-actions {display: flex;gap: 8px;padding: 12px 16px;background: var(--color-bg-muted);border-top: 1px solid var(--color-border)}
.reservation-btn-approve {flex: 2;display: flex;align-items: center;justify-content: center;gap: 8px;padding: 14px 20px;background: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);color: white;border: none;border-radius: 10px;font-size: 15px;font-weight: 600;cursor: pointer;transition: all 0.2s}
.reservation-btn-approve:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4)}
.reservation-btn-detail {flex: 1;display: flex;align-items: center;justify-content: center;padding: 14px 16px;background: white;color: var(--color-text-muted);border: 1px solid var(--color-border);border-radius: 10px;font-size: 14px;text-decoration: none;transition: all 0.2s}
.reservation-btn-detail:hover {background: var(--color-bg-muted);color: var(--color-text-primary)}
.reservation-mgmt-section {margin-bottom: 20px}
.reservation-mgmt-section.past {margin-bottom: 0}
.reservation-mgmt-section-title {display: flex;align-items: center;gap: 8px;font-size: 15px;font-weight: 600;color: var(--color-text-primary);margin-bottom: 12px;padding: 0 4px}
.reservation-mgmt-section-title i {color: var(--color-text-muted)}
.reservation-mgmt-section-title.today {color: var(--color-primary-dark)}
.reservation-mgmt-section-title.today i {color: var(--color-primary-dark)}
.reservation-mgmt-section-title.muted {color: var(--color-text-light);cursor: pointer;padding: 12px 16px;background: white;border-radius: 12px;margin-bottom: 0}
.reservation-mgmt-section-title.muted i:first-child {color: var(--color-text-light)}
.reservation-toggle-icon {margin-left: auto;transition: transform 0.2s}
details[open] .reservation-toggle-icon {transform: rotate(180deg)}
.reservation-today-list {display: flex;flex-direction: column;gap: 12px}
.reservation-today-schedule {background: white;border-radius: 12px;overflow: hidden;border: 2px solid var(--color-primary-dark)}
.reservation-today-schedule-header {display: flex;justify-content: space-between;align-items: center;padding: 12px 16px;background: #eff6ff}
.reservation-today-time {font-weight: 600;color: #1e40af}
.reservation-today-total {font-size: 14px;color: var(--color-primary);font-weight: 500}
.reservation-today-customers {display: flex;flex-direction: column}
.reservation-today-customer {display: flex;align-items: center;gap: 12px;padding: 14px 16px;border-bottom: 1px solid var(--color-border-light)}
.reservation-today-customer:last-child {border-bottom: none}
.reservation-today-customer-info {flex: 1;min-width: 0}
.reservation-today-customer-name {font-size: 16px;font-weight: 600;color: var(--color-text-primary)}
.reservation-today-customer-people {font-size: 14px;color: var(--color-text-muted);margin-left: 8px}
.reservation-today-customer-phone {padding: 8px 14px;background: #f0fdf4;color: var(--color-success-dark);border-radius: 20px;font-size: 13px;text-decoration: none;white-space: nowrap}
.reservation-today-customer-phone:hover {background: #dcfce7}
.reservation-today-customer-actions {display: flex;gap: 6px}
.reservation-icon-btn {width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;border: none;border-radius: 8px;cursor: pointer;transition: all 0.2s}
.reservation-icon-btn.success {background: #dcfce7;color: var(--color-success-dark)}
.reservation-icon-btn.success:hover {background: #bbf7d0}
.reservation-icon-btn.danger {background: #fee2e2;color: var(--color-danger-dark)}
.reservation-icon-btn.danger:hover {background: #fecaca}
.reservation-upcoming-list {display: flex;flex-direction: column;gap: 8px}
.reservation-upcoming-date {background: white;border-radius: 12px;overflow: hidden}
.reservation-upcoming-date-header {display: flex;justify-content: space-between;align-items: center;padding: 10px 16px;background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border)}
.reservation-upcoming-date-label {font-weight: 600;color: var(--color-text-primary);font-size: 14px}
.reservation-upcoming-date-count {font-size: 13px;color: var(--color-text-muted)}
.reservation-upcoming-item {display: flex;align-items: center;gap: 12px;padding: 12px 16px;border-bottom: 1px solid var(--color-border-light)}
.reservation-upcoming-item:last-child {border-bottom: none}
.reservation-upcoming-time {font-size: 14px;font-weight: 600;color: var(--color-text-muted);min-width: 50px}
.reservation-upcoming-name {flex: 1;font-size: 15px;font-weight: 500;color: var(--color-text-primary);min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}
.reservation-upcoming-people {font-size: 14px;color: var(--color-text-muted)}
.reservation-upcoming-phone {width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;background: #eff6ff;color: var(--color-primary-dark);border-radius: 50%;text-decoration: none}
.reservation-upcoming-phone:hover {background: #dbeafe}
.reservation-upcoming-detail {width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;color: var(--color-text-light);text-decoration: none}
.reservation-upcoming-detail:hover {color: var(--color-text-primary)}
.reservation-past-list {padding: 8px 0}
.reservation-past-item {display: flex;align-items: center;gap: 12px;padding: 10px 16px;font-size: 14px}
.reservation-past-date {min-width: 45px;color: var(--color-text-light)}
.reservation-past-name {flex: 1;color: var(--color-text-muted)}
.reservation-past-people {color: var(--color-text-light)}
.reservation-past-status {font-size: 12px;padding: 2px 8px;border-radius: 10px}
.reservation-past-status.completed {background: #e0e7ff;color: #4338ca}
.reservation-past-status.cancelled {background: #fee2e2;color: var(--color-danger-dark)}
.reservation-past-status.no_show {background: var(--color-bg-secondary);color: var(--color-text-muted)}
.reservation-past-status.confirmed {background: #fef3c7;color: #b45309}
.captain-reservations-container {max-width: 900px;margin: 0 auto;padding: 20px}
.captain-reservations-header {display: flex;justify-content: space-between;align-items: flex-start;margin-bottom: 16px}
.captain-reservations-header h1 {font-size: 1.5em;color: var(--color-text-primary);display: flex;align-items: center;gap: 10px;margin: 0}
.captain-reservations-header h1 i {color: var(--color-primary)}
.captain-reservations-ship-name {font-size: 14px;color: var(--color-text-muted);margin: 4px 0 0}
.captain-reservations-list {display: flex;flex-direction: column;gap: 24px}
.captain-reservations-date-group {display: flex;flex-direction: column;gap: 12px}
.captain-reservations-date {font-size: 14px;color: var(--color-text-muted);margin: 0;display: flex;align-items: center;gap: 8px}
.captain-reservations-past {font-size: 11px;padding: 2px 8px;background: var(--color-bg-secondary);color: var(--color-text-muted);border-radius: 10px}
.captain-reservations-today {font-size: 11px;padding: 2px 8px;background: #dcfce7;color: #166534;border-radius: 10px}
.captain-reservation-card {display: flex;align-items: center;gap: 16px;padding: 16px;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);border-left: 4px solid var(--color-success)}
.captain-reservation-card.pending {border-left-color: var(--color-warning)}
.captain-reservation-card.cancelled {border-left-color: var(--color-danger);opacity: 0.7}
.captain-reservation-card.completed {border-left-color: #6366f1;opacity: 0.8}
.captain-reservation-card.no_show {border-left-color: var(--color-text-muted);opacity: 0.6}
.captain-reservation-card-info {flex: 1;display: flex;flex-direction: column;gap: 6px}
.captain-reservation-card-user {font-size: 15px;font-weight: 600;color: var(--color-text-primary);display: flex;align-items: center;gap: 8px}
.captain-reservation-card-user i {color: var(--color-text-muted)}
.captain-reservation-card-details {display: flex;gap: 16px;font-size: 13px;color: var(--color-text-muted)}
.captain-reservation-card-contact {font-size: 13px;color: var(--color-primary)}
.captain-reservation-card-note {font-size: 12px;color: var(--color-text-muted);margin-top: 4px}
.captain-reservation-card-status {min-width: 80px;text-align: center}
.captain-reservation-card-actions {display: flex;gap: 8px;flex-wrap: wrap}
.captain-reservations-empty {text-align: center;padding: 60px 20px;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.captain-reservations-empty-icon {font-size: 48px;color: #cbd5e1;margin-bottom: 16px}
.captain-reservations-empty p {color: var(--color-text-muted);margin: 0 0 8px 0}
.captain-reservations-empty-hint {font-size: 13px;color: var(--color-text-light)}
.captain-reservations-summary {display: grid;grid-template-columns: repeat(3, 1fr);gap: 12px;margin-bottom: 24px}
.captain-reservations-summary-card {display: flex;align-items: center;gap: 12px;padding: 16px;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06)}
.captain-reservations-summary-card.pending {border-left: 4px solid var(--color-warning)}
.captain-reservations-summary-card.confirmed {border-left: 4px solid var(--color-success)}
.captain-reservations-summary-card.today {border-left: 4px solid var(--color-primary)}
.captain-reservations-summary-icon {width: 40px;height: 40px;border-radius: 10px;display: flex;align-items: center;justify-content: center;font-size: 18px}
.captain-reservations-summary-card.pending .captain-reservations-summary-icon {background: #fef3c7;color: var(--color-warning)}
.captain-reservations-summary-card.confirmed .captain-reservations-summary-icon {background: #dcfce7;color: var(--color-success)}
.captain-reservations-summary-card.today .captain-reservations-summary-icon {background: #dbeafe;color: var(--color-primary)}
.captain-reservations-summary-content {display: flex;flex-direction: column}
.captain-reservations-summary-count {font-size: 24px;font-weight: 700;color: var(--color-text-primary);line-height: 1}
.captain-reservations-summary-label {font-size: 12px;color: var(--color-text-muted);margin-top: 4px}
.captain-reservations-section {margin-bottom: 24px}
.captain-reservations-section.pending-section {background: #fffbeb;border: 1px solid #fcd34d;border-radius: 12px;padding: 16px}
.captain-reservations-section-header {margin-bottom: 16px}
.captain-reservations-section-header h2 {font-size: 16px;font-weight: 600;color: var(--color-text-primary);margin: 0;display: flex;align-items: center;gap: 8px}
.captain-reservations-section.pending-section .captain-reservations-section-header h2 {color: #92400e}
.captain-reservations-section.pending-section .captain-reservations-section-header h2 i {color: var(--color-warning)}
.captain-reservations-cards {display: grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: 12px}
.captain-reservation-card-new {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);overflow: hidden}
.captain-reservation-card-new.pending {border: 2px solid #fcd34d}
.captain-reservation-card-new-header {display: flex;align-items: center;gap: 12px;padding: 12px 16px;background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border)}
.captain-reservation-card-new-date {display: flex;flex-direction: column;align-items: center;line-height: 1}
.captain-reservation-card-new-date .date-month {font-size: 16px;font-weight: 700;color: var(--color-text-primary)}
.captain-reservation-card-new-date .date-weekday {font-size: 11px;color: var(--color-text-muted)}
.captain-reservation-card-new-time {flex: 1;font-size: 14px;color: var(--color-text-muted)}
.captain-reservation-card-new-time i {margin-right: 4px}
.captain-reservation-card-new-body {padding: 16px;display: flex;justify-content: space-between;align-items: flex-start;gap: 12px}
.captain-reservation-card-new-user-name {font-size: 16px;font-weight: 600;color: var(--color-text-primary);display: flex;align-items: center;gap: 8px}
.captain-reservation-card-new-user-name i {color: var(--color-text-muted);font-size: 14px}
.captain-reservation-card-new-user-detail {font-size: 14px;color: var(--color-text-muted);margin-top: 4px}
.captain-reservation-card-new-contact {flex-shrink: 0}
.captain-phone-link-compact {display: inline-flex;align-items: center;gap: 6px;padding: 8px 12px;background: #eff6ff;color: var(--color-primary);border-radius: 8px;font-size: 14px;font-weight: 500;text-decoration: none;transition: all 0.2s}
.captain-phone-link-compact:hover {background: #dbeafe}
.captain-reservation-card-new-note {padding: 0 16px 12px;font-size: 13px;color: var(--color-text-muted)}
.captain-reservation-card-new-note i {margin-right: 6px;color: var(--color-text-light)}
.captain-reservation-card-new-actions {display: flex;gap: 8px;padding: 12px 16px;background: var(--color-bg-muted);border-top: 1px solid var(--color-border)}
.captain-btn-action {flex: 1;justify-content: center;padding: 10px 16px}
.captain-reservations-list-new {display: flex;flex-direction: column;gap: 16px}
.captain-reservations-date-group-new {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);overflow: hidden}
.captain-reservations-date-header {display: flex;align-items: center;gap: 10px;padding: 12px 16px;background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border)}
.captain-reservations-date-text {font-size: 14px;font-weight: 600;color: var(--color-text-primary)}
.captain-reservations-date-badge {font-size: 11px;padding: 2px 8px;border-radius: 10px;font-weight: 500}
.captain-reservations-date-badge.past {background: var(--color-bg-secondary);color: var(--color-text-muted)}
.captain-reservations-date-badge.today {background: #dcfce7;color: #166534}
.captain-reservations-date-items {display: flex;flex-direction: column}
.captain-reservation-row {display: flex;align-items: center;gap: 12px;padding: 12px 16px;border-bottom: 1px solid var(--color-border-light)}
.captain-reservation-row:last-child {border-bottom: none}
.captain-reservation-row.cancelled,
.captain-reservation-row.no_show {opacity: 0.6;background: var(--color-bg-muted)}
.captain-reservation-row-time {width: 50px;font-size: 14px;font-weight: 600;color: var(--color-text-muted)}
.captain-reservation-row-user {flex: 1;min-width: 0}
.captain-reservation-row-name {font-size: 15px;font-weight: 600;color: var(--color-text-primary)}
.captain-reservation-row-people {font-size: 13px;color: var(--color-text-muted);margin-left: 8px}
.captain-reservation-row-contact {flex-shrink: 0}
.captain-phone-link-small {font-size: 13px;color: var(--color-primary);text-decoration: none}
.captain-phone-link-small:hover {text-decoration: underline}
.captain-reservation-row-status {flex-shrink: 0;min-width: 70px;text-align: center}
.captain-reservation-row-actions {display: flex;gap: 6px;flex-shrink: 0}
.captain-btn-icon {display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;border: none;border-radius: 8px;background: var(--color-bg-secondary);color: var(--color-text-muted);cursor: pointer;transition: all 0.2s;text-decoration: none}
.captain-btn-icon:hover {background: var(--color-border);color: var(--color-text-primary)}
.captain-btn-icon.success {background: #dcfce7;color: var(--color-success)}
.captain-btn-icon.success:hover {background: #bbf7d0}
.captain-btn-icon.danger {background: #fee2e2;color: var(--color-danger)}
.captain-btn-icon.danger:hover {background: #fecaca}
.inline-form {display: inline}
.captain-reservation-detail-container {max-width: 700px;margin: 0 auto;padding: 20px}
.captain-reservation-detail-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 24px}
.captain-reservation-detail-header h1 {font-size: 1.5em;color: var(--color-text-primary);display: flex;align-items: center;gap: 10px;margin: 0}
.captain-reservation-detail-header h1 i {color: var(--color-primary)}
.captain-reservation-detail-card {background: white;border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);margin-bottom: 16px}
.captain-reservation-detail-card h2 {font-size: 1em;color: var(--color-text-primary);margin: 0 0 16px;display: flex;align-items: center;gap: 8px}
.captain-reservation-detail-card h2 i {color: var(--color-primary)}
.captain-reservation-detail-card.cancelled {background: #fef2f2}
.captain-reservation-detail-card.cancelled h2 i {color: var(--color-danger)}
.captain-reservation-detail-list {display: grid;grid-template-columns: 120px 1fr;gap: 12px 16px;margin: 0}
.captain-reservation-detail-list dt {font-size: 13px;color: var(--color-text-muted)}
.captain-reservation-detail-list dd {font-size: 14px;color: var(--color-text-primary);margin: 0}
.captain-phone-link {color: var(--color-primary);text-decoration: none;display: inline-flex;align-items: center;gap: 6px}
.captain-phone-link:hover {text-decoration: underline}
.captain-no-show-warning {color: var(--color-danger);font-weight: 600}
.captain-reservation-price {font-size: 18px !important;font-weight: 700;color: var(--color-primary) !important}
.captain-approval-section {display: grid;grid-template-columns: 1fr 1fr;gap: 16px;margin-top: 24px}
.captain-approval-card {background: white;border-radius: 12px;overflow: hidden;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.captain-approval-card.approve {border: 2px solid var(--color-success)}
.captain-approval-card.reject {border: 2px solid #e5e7eb}
.captain-approval-card-header {padding: 12px 16px;display: flex;align-items: center;gap: 8px;font-weight: 600;font-size: 14px}
.captain-approval-card.approve .captain-approval-card-header {background: #dcfce7;color: #166534}
.captain-approval-card.approve .captain-approval-card-header i {color: var(--color-success)}
.captain-approval-card.reject .captain-approval-card-header {background: var(--color-bg-muted);color: var(--color-text-muted)}
.captain-approval-card.reject .captain-approval-card-header i {color: var(--color-text-light)}
.captain-approval-card-body {padding: 16px}
.captain-approval-card-body p {margin: 0 0 16px 0;font-size: 13px;color: var(--color-text-muted)}
.captain-reservation-detail-actions {display: flex;gap: 12px;margin-top: 24px}
.captain-reject-form {margin: 0}
.captain-reject-form .form-group {margin-bottom: 16px}
.captain-reject-form .form-group label {display: block;font-size: 14px;font-weight: 500;color: #374151;margin-bottom: 8px}
.captain-reject-form .form-control {width: 100%;padding: 12px;border: 1px solid #d1d5db;border-radius: 8px;font-size: 14px;resize: vertical;transition: border-color 0.2s}
.captain-reject-form .form-control:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.captain-reject-form .form-actions {text-align: right}
.fishing-ships-container,
.fishing-ship-show-container {max-width: var(--layout-width-default);margin: 0 auto;padding: 20px}
.fishing-ships-header,
.fishing-ship-show-header {margin-bottom: 24px}
.fishing-ships-header h1,
.fishing-ship-show-header h1 {font-size: 1.5em;color: var(--color-text-primary);display: flex;align-items: center;gap: 10px;margin: 0}
.fishing-ships-header h1 i,
.fishing-ship-show-header h1 i {color: var(--color-primary)}
.fishing-ships-filter {background: white;border-radius: 12px;padding: 20px;margin-bottom: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.fishing-ships-filter-form {width: 100%}
.fishing-ships-filter-row {display: flex;gap: 16px;flex-wrap: wrap;align-items: flex-end}
.fishing-ships-filter-item {flex: 1;min-width: 150px}
.fishing-ships-filter-item label {display: block;font-size: 13px;color: var(--color-text-secondary);margin-bottom: 6px;display: flex;align-items: center;gap: 6px}
.fishing-ships-filter-item label i {color: var(--color-text-muted)}
.fishing-ships-filter-select,
.fishing-ships-filter-input {width: 100%;padding: 10px 12px;border: 1px solid var(--color-border);border-radius: 8px;font-size: 14px;background: white;transition: all 0.2s;box-sizing: border-box}
.fishing-ships-filter-select:focus,
.fishing-ships-filter-input:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.fishing-ships-filter-btn {padding: 10px 20px;background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white;border: none;border-radius: 8px;font-size: 14px;font-weight: 500;cursor: pointer;transition: all 0.2s}
.fishing-ships-filter-btn:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4)}
.fishing-ships-filter-item--search {flex: 1.5}
.fishing-ships-date-wrapper {position: relative}
.fishing-ships-date-icon {position: absolute;left: 12px;top: 50%;transform: translateY(-50%);color: var(--color-text-muted);pointer-events: none;z-index: 1}
.fishing-ships-filter-date {padding-left: 36px !important}
.fishing-ships-filter-section {display: flex;align-items: center;gap: 12px;margin-top: 16px;padding-top: 16px;border-top: 1px solid var(--color-border);flex-wrap: wrap}
.fishing-ships-filter-section-title {font-size: 13px;font-weight: 500;color: var(--color-text-secondary);display: flex;align-items: center;gap: 6px;min-width: 60px}
.fishing-ships-filter-section-title i {color: var(--color-text-muted)}
.fishing-ships-filter-chips {display: flex;gap: 8px;flex-wrap: wrap}
.fishing-ships-filter-chip {display: flex;align-items: center;gap: 6px;padding: 6px 12px;background: var(--color-bg-muted);border: 1px solid var(--color-border);border-radius: 20px;cursor: pointer;transition: all 0.2s;font-size: 13px;color: var(--color-text-secondary)}
.fishing-ships-filter-chip:hover {background: var(--color-bg-secondary);border-color: #cbd5e1}
.fishing-ships-filter-chip input[type="checkbox"] {display: none}
.fishing-ships-filter-chip:has(input:checked) {background: #dbeafe;border-color: var(--color-primary);color: #1d4ed8}
.fishing-ships-filter-chip:has(input:checked) i {color: var(--color-primary)}
.fishing-ships-filter-chip i {font-size: 12px;color: var(--color-text-muted)}
.fishing-ships-filter-actions {display: flex;gap: 12px;align-items: center;margin-top: 16px;padding-top: 16px;border-top: 1px solid var(--color-border)}
.fishing-ships-filter-clear-btn {display: flex;align-items: center;gap: 6px;padding: 10px 16px;background: var(--color-bg-secondary);color: var(--color-text-muted);border: 1px solid var(--color-border);border-radius: 8px;text-decoration: none;font-size: 14px;transition: all 0.2s}
.fishing-ships-filter-clear-btn:hover {background: var(--color-border);color: var(--color-text-secondary)}
.fishing-ships-list {display: flex;flex-direction: column;gap: 16px}
.fishing-ship-card {display: block;background: white;border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);text-decoration: none;transition: all 0.2s}
.fishing-ship-card:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12)}
.fishing-ship-card-image {margin: -20px -20px 16px -20px;height: 160px;background: var(--color-bg-secondary);overflow: hidden}
.fishing-ship-card-image img {width: 100%;height: 100%;object-fit: cover}
.fishing-ship-card-no-image {display: flex;align-items: center;justify-content: center;color: var(--color-text-light);font-size: 48px}
.fishing-ship-card-header {display: flex;justify-content: space-between;align-items: flex-start;margin-bottom: 12px}
.fishing-ship-card-name {font-size: 1.2em;color: var(--color-text-primary);margin: 0}
.fishing-ship-card-price {font-size: 16px;font-weight: 600;color: var(--color-primary);white-space: nowrap}
.fishing-ship-card-details {display: flex;flex-wrap: wrap;gap: 16px;margin-bottom: 12px}
.fishing-ship-card-detail {font-size: 13px;color: var(--color-text-muted);display: flex;align-items: center;gap: 6px}
.fishing-ship-card-detail i {color: var(--color-text-light)}
.fishing-ship-card-available {color: var(--color-success-dark)}
.fishing-ship-card-available i {color: var(--color-success)}
.fishing-ship-card-description {font-size: 14px;color: var(--color-text-muted);margin: 0 0 12px;line-height: 1.5}
.fishing-ship-card-features {display: flex;gap: 8px;flex-wrap: wrap;margin-bottom: 12px}
.fishing-ship-card-feature {display: inline-flex;align-items: center;gap: 4px;padding: 4px 10px;border-radius: 16px;font-size: 12px;font-weight: 500}
.fishing-ship-card-feature i {font-size: 11px}
.fishing-ship-card-feature--beginner {background: #dcfce7;color: #15803d}
.fishing-ship-card-feature--rental {background: #fef3c7;color: #b45309}
.fishing-ship-card-footer {display: flex;justify-content: flex-end;padding-top: 12px;border-top: 1px solid var(--color-border)}
.fishing-ship-card-link {font-size: 14px;color: var(--color-primary);font-weight: 500;display: flex;align-items: center;gap: 6px}
.fishing-ships-empty {text-align: center;padding: 60px 20px;background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.fishing-ships-empty-icon {font-size: 48px;color: #cbd5e1;margin-bottom: 16px}
.fishing-ships-empty p {color: var(--color-text-muted);margin: 0 0 8px}
.fishing-ships-empty-hint {font-size: 14px;color: var(--color-text-light)}
.fishing-ships-reset-btn {display: inline-flex;align-items: center;gap: 6px;padding: 10px 20px;background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white;border-radius: 8px;text-decoration: none;font-weight: 500;margin-top: 16px;transition: all 0.2s}
.fishing-ships-reset-btn:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4)}
.fishing-ship-show-header .back-link {display: inline-flex;align-items: center;color: var(--color-text-muted);text-decoration: none;font-size: 14px;margin-bottom: 12px}
.fishing-ship-show-header .back-link:hover {color: var(--color-primary)}
.fishing-ship-page-views {display: inline-flex;align-items: center;gap: 6px;background: var(--color-bg-secondary);padding: 6px 12px;border-radius: 20px;font-size: 13px;color: var(--color-text-muted);margin-top: 8px}
.fishing-ship-page-views i {color: var(--color-text-light)}
.fishing-ship-page-views span {font-weight: 600;color: var(--color-text-secondary)}
.fishing-ship-page-views small {color: var(--color-text-muted)}
.fishing-ship-show-content {display: flex;flex-direction: column;gap: 20px}
.fishing-ship-show-image {border-radius: 12px;overflow: hidden;background: var(--color-bg-secondary);box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.fishing-ship-show-image img {display: block;width: 100%;height: auto;object-fit: cover;max-height: 400px}
.fishing-ship-show-no-image {display: flex;align-items: center;justify-content: center;height: 250px;color: var(--color-text-light);font-size: 72px}
.fishing-ship-registration-section {background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);border: 1px solid #bae6fd;border-radius: 12px;padding: 20px}
.fishing-ship-registration-header {display: flex;align-items: center;gap: 8px;margin-bottom: 8px}
.fishing-ship-registration-icon {font-size: 24px}
.fishing-ship-registration-title {font-size: 14px;font-weight: 600;color: #0369a1}
.fishing-ship-registration-details {background: white;border-radius: 8px;padding: 12px 16px;margin-bottom: 12px}
.fishing-ship-registration-number {font-size: 16px;font-weight: 500;color: var(--color-text-primary)}
.fishing-ship-registration-representative {font-size: 14px;color: var(--color-text-secondary);margin-top: 6px}
.fishing-ship-registration-disclaimer {font-size: 11px;color: var(--color-text-muted);display: flex;align-items: flex-start;gap: 6px;line-height: 1.5}
.fishing-ship-registration-disclaimer i {color: var(--color-text-light);margin-top: 2px;flex-shrink: 0}
.fishing-ship-certificate-display {background: white;border-radius: 8px;padding: 12px;margin: 12px 0}
.fishing-ship-certificate-label {font-size: 13px;color: #0369a1;font-weight: 500;margin-bottom: 10px;display: flex;align-items: center;gap: 6px}
.fishing-ship-certificate-img {display: block;max-width: 100%;height: auto;border-radius: 6px;border: 1px solid var(--color-border)}
.fishing-ship-registration-info {display: flex;gap: 10px;padding: 12px;background: #f0fdf4;border: 1px solid #bbf7d0;border-radius: 8px;margin: 12px 0;font-size: 13px;color: #166534}
.fishing-ship-registration-info > i {color: var(--color-success);flex-shrink: 0;margin-top: 2px}
.fishing-ship-registration-info strong {display: block;margin-bottom: 4px}
.fishing-ship-registration-info p {margin: 0;line-height: 1.5}
.fishing-ship-show-section {background: white;border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.fishing-ship-show-section h2 {font-size: 1.1em;color: var(--color-text-primary);margin: 0 0 16px;display: flex;align-items: center;gap: 8px}
.fishing-ship-show-section h2 i {color: var(--color-primary)}
.fishing-ship-schedule-group {margin-bottom: 20px}
.fishing-ship-schedule-subtitle {font-size: 0.95em;font-weight: 600;color: var(--color-text-secondary);margin: 0 0 12px}
.fishing-ship-reports-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));gap: 12px}
.fishing-ship-report-card {display: block;text-decoration: none;border-radius: 8px;overflow: hidden;background: white;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);transition: transform 0.2s, box-shadow 0.2s}
.fishing-ship-report-card:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15)}
.fishing-ship-report-image {aspect-ratio: 1;overflow: hidden;background: var(--color-bg-secondary)}
.fishing-ship-report-image img {width: 100%;height: 100%;object-fit: cover}
.fishing-ship-report-info {padding: 8px;display: flex;flex-direction: column;gap: 2px}
.fishing-ship-report-fish {font-size: 13px;font-weight: 600;color: var(--color-text-primary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.fishing-ship-report-date {font-size: 11px;color: var(--color-text-muted)}
.fishing-ship-show-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));gap: 16px}
.fishing-ship-show-item {display: flex;flex-direction: column;gap: 4px}
.fishing-ship-show-item label {font-size: 12px;color: var(--color-text-muted);display: flex;align-items: center;gap: 6px}
.fishing-ship-show-item label i {font-size: 12px}
.fishing-ship-show-item span {font-size: 15px;color: var(--color-text-primary);font-weight: 500}
.fishing-ship-show-x-link {margin-top: 12px}
.fishing-ship-x-button {display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;background: #0f1419;color: white;border-radius: 6px;text-decoration: none;transition: all 0.2s ease}
.fishing-ship-x-button:hover {background: #272c30;transform: translateY(-1px)}
.fishing-ship-x-button i {font-size: 14px}
.fishing-ship-show-description {margin-top: 16px;padding-top: 16px;border-top: 1px solid var(--color-border)}
.fishing-ship-show-description label {font-size: 12px;color: var(--color-text-muted);display: flex;align-items: center;gap: 6px;margin-bottom: 8px}
.fishing-ship-show-description p {font-size: 14px;color: var(--color-text-secondary);line-height: 1.6;margin: 0}
.fishing-ship-location-map {margin-bottom: 16px;border-radius: 12px;overflow: hidden;border: 1px solid var(--color-border)}
.fishing-ship-map-container {width: 100%;height: 250px}
.fishing-ship-captain-info {display: flex;align-items: center;gap: 12px}
.fishing-ship-captain-name {font-size: 15px;color: var(--color-text-primary);font-weight: 500}
.fishing-ship-schedules-list {display: flex;flex-direction: column;gap: 12px}
.fishing-ship-schedule-item {display: flex;align-items: center;gap: 16px;padding: 16px;background: var(--color-bg-muted);border-radius: 10px;border-left: 4px solid var(--color-primary)}
.fishing-ship-schedule-date {display: flex;flex-direction: column;align-items: center;min-width: 60px}
.fishing-ship-schedule-month {font-size: 12px;color: var(--color-text-muted)}
.fishing-ship-schedule-day {font-size: 24px;font-weight: 700;color: var(--color-text-primary);line-height: 1}
.fishing-ship-schedule-weekday {font-size: 12px;color: var(--color-text-muted)}
.fishing-ship-schedule-info {flex: 1;display: flex;flex-direction: column;gap: 6px}
.fishing-ship-schedule-target-fish {font-size: 15px;font-weight: 600;color: #0369a1;display: flex;align-items: center;gap: 6px}
.fishing-ship-schedule-target-fish i {color: #0ea5e9}
.fishing-ship-schedule-time {font-size: 14px;color: var(--color-text-primary);display: flex;align-items: center;gap: 6px}
.fishing-ship-schedule-time i {color: var(--color-text-muted)}
.fishing-ship-schedule-details {display: flex;gap: 16px;font-size: 13px;color: var(--color-text-muted)}
.fishing-ship-schedule-price {display: flex;align-items: center;gap: 4px}
.fishing-ship-schedule-slots {display: flex;align-items: center;gap: 4px}
.fishing-ship-schedule-meeting-time {font-size: 12px;color: var(--color-text-muted);margin-left: 4px}
.fishing-ship-schedule-boarding-type {display: flex;align-items: center;gap: 4px}
.fishing-ship-schedule-discounts {display: flex;gap: 12px;font-size: 12px;color: #059669}
.fishing-ship-schedule-discount {display: flex;align-items: center;gap: 4px}
.fishing-ship-schedule-options {display: flex;gap: 8px;flex-wrap: wrap}
.fishing-ship-schedule-option-badge {display: inline-flex;align-items: center;gap: 4px;padding: 3px 8px;background: #e0f2fe;color: #0369a1;font-size: 12px;font-weight: 500;border-radius: 12px}
.fishing-ship-schedule-option-badge i {font-size: 10px}
.fishing-ship-schedule-included {font-size: 12px;color: var(--color-success-dark);display: flex;align-items: flex-start;gap: 6px}
.fishing-ship-schedule-included i {margin-top: 2px}
.fishing-ship-schedule-note {font-size: 12px;color: var(--color-text-muted);margin-top: 4px}
.fishing-ship-schedule-note i {margin-right: 4px}
.fishing-ship-schedule-action {display: flex;align-items: center}
.fishing-ship-reserve-btn {display: inline-flex;align-items: center;gap: 6px;padding: 10px 20px;background: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);color: white;border-radius: 8px;text-decoration: none;font-size: 14px;font-weight: 500;transition: all 0.2s;white-space: nowrap}
.fishing-ship-reserve-btn:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4)}
.fishing-ship-reserve-btn-disabled {background: linear-gradient(135deg, var(--color-text-light) 0%, var(--color-text-muted) 100%)}
.fishing-ship-reserve-btn-disabled:hover {box-shadow: 0 4px 12px rgba(100, 116, 139, 0.4)}
.fishing-ship-reserve-btn-closed {background: linear-gradient(135deg, var(--color-warning) 0%, #d97706 100%);cursor: default}
.fishing-ship-reserve-btn-closed:hover {transform: none;box-shadow: 0 2px 8px rgba(217, 119, 6, 0.3)}
.fishing-ship-schedules-empty {text-align: center;padding: 40px 20px}
.fishing-ship-schedules-empty-icon {font-size: 36px;color: #cbd5e1;margin-bottom: 12px}
.fishing-ship-schedules-empty p {color: var(--color-text-muted);margin: 0 0 8px}
.fishing-ship-schedules-empty-hint {font-size: 14px;color: var(--color-text-light)}
.schedule-cards {display: flex;flex-direction: column;gap: 16px}
.schedule-card {display: grid;grid-template-columns: 80px 1fr 100px;gap: 0;background: #fff;border-radius: 16px;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);overflow: hidden;transition: box-shadow 0.2s, transform 0.2s}
.schedule-card--reserved {box-shadow: 0 0 0 2px #fcd34d, 0 4px 16px rgba(245, 158, 11, 0.18)}
.schedule-card:hover {box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);transform: translateY(-2px)}
.schedule-card.weekend {border: 2px solid #fef3c7}
.schedule-card.sold-out {opacity: 0.7}
.schedule-card.few-left {border-left: 4px solid var(--color-warning)}
.schedule-card__date {display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 16px 12px;background: linear-gradient(135deg, var(--color-bg-muted) 0%, var(--color-bg-secondary) 100%);border-right: 1px solid var(--color-border)}
.schedule-card__month {font-size: 13px;color: var(--color-text-muted);font-weight: 500}
.schedule-card__month small {font-size: 11px}
.schedule-card__day {font-size: 32px;font-weight: 800;color: var(--color-text-primary);line-height: 1.1;letter-spacing: -1px}
.schedule-card__weekday {font-size: 13px;font-weight: 600;color: var(--color-text-muted);padding: 2px 8px;border-radius: 4px;margin-top: 4px}
.schedule-card__weekday.sun {color: var(--color-danger-dark);background: #fef2f2}
.schedule-card__weekday.sat {color: var(--color-primary-dark);background: #eff6ff}
.schedule-card__content {padding: 16px 20px;display: flex;flex-direction: column;gap: 12px}
.schedule-card__header {display: flex;align-items: center;gap: 12px;flex-wrap: wrap}
.schedule-card__fish {font-size: 18px;font-weight: 700;color: #0369a1;margin: 0;line-height: 1.3}
.schedule-card__fish--none {color: var(--color-text-light);font-weight: 500}
.schedule-card__type {font-size: 11px;font-weight: 600;padding: 3px 10px;border-radius: 20px;text-transform: uppercase;letter-spacing: 0.5px}
.schedule-card__type--charter {background: #fef3c7;color: #b45309}
.schedule-card__type--shared {background: #dbeafe;color: #1d4ed8}
.schedule-card.schedule-card--shared {border: 2px solid #dbeafe}
.schedule-card.schedule-card--charter {border: 2px solid #fef3c7}
.schedule-card__time {display: flex;flex-wrap: wrap;gap: 16px;font-size: 14px;color: var(--color-text-secondary)}
.schedule-card__time-main {display: flex;align-items: center;gap: 6px;font-weight: 600}
.schedule-card__time-main i {color: var(--color-primary)}
.schedule-card__time-separator {color: var(--color-text-light);font-size: 12px}
.schedule-card__time-meeting {display: flex;align-items: center;gap: 6px;color: var(--color-text-muted);font-size: 13px}
.schedule-card__time-meeting i {color: var(--color-warning);font-size: 11px}
.schedule-card__pricing {display: flex;flex-wrap: wrap;gap: 16px;padding: 12px 16px;background: var(--color-bg-muted);border-radius: 10px;margin: 4px 0}
.schedule-card__price-main {display: flex;flex-direction: column;gap: 2px}
.schedule-card__price-main .schedule-card__price-value {font-size: 22px;font-weight: 800;color: var(--color-text-primary)}
.schedule-card__price-sub {display: flex;flex-direction: column;gap: 2px;padding-left: 16px;border-left: 2px solid var(--color-border)}
.schedule-card__price-sub .schedule-card__price-value {font-size: 16px;font-weight: 700;color: #059669}
.schedule-card__price-sub--female {border-left-color: #f9a8d4}
.schedule-card__price-sub--female .schedule-card__price-label {color: #be185d}
.schedule-card__price-sub--female .schedule-card__price-value {color: #be185d}
.schedule-card__price-sub--child {border-left-color: #93c5fd}
.schedule-card__price-sub--child .schedule-card__price-label {color: #1d4ed8}
.schedule-card__price-sub--child .schedule-card__price-value {color: #1d4ed8}
.schedule-card__price-label {font-size: 11px;color: var(--color-text-muted);font-weight: 500}
.schedule-card__price-value small {font-size: 12px;font-weight: 500}
.schedule-card__features {display: flex;flex-wrap: wrap;gap: 8px;align-items: center}
.schedule-card__tag {display: inline-flex;align-items: center;gap: 5px;font-size: 12px;font-weight: 600;padding: 4px 10px;border-radius: 6px}
.schedule-card__tag i {font-size: 11px}
.schedule-card__tag--beginner {background: #dcfce7;color: #166534}
.schedule-card__tag--rental {background: #e0f2fe;color: #0369a1}
.schedule-card__included {font-size: 12px;color: var(--color-text-muted);display: flex;align-items: center;gap: 5px}
.schedule-card__included i {color: #10b981}
.schedule-card__note {font-size: 13px;color: var(--color-text-muted);margin: 0;padding: 8px 12px;background: #fefce8;border-radius: 6px;border-left: 3px solid #facc15}
.schedule-card__action {display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 16px;background: var(--color-bg-muted);border-left: 1px solid var(--color-border);gap: 8px}
.schedule-card__slots {text-align: center}
.schedule-card__slots-num {font-size: 28px;font-weight: 800;color: var(--color-text-primary);line-height: 1}
.schedule-card__slots-label {font-size: 12px;color: var(--color-text-muted);display: block}
.schedule-card__slots--few-left .schedule-card__slots-num {color: var(--color-warning)}
.schedule-card__slots--sold-out .schedule-card__slots-label {font-size: 14px;font-weight: 600;color: var(--color-danger-dark)}
.schedule-card__btn {display: flex;align-items: center;justify-content: center;width: 84px;min-height: 44px;font-size: 13px;font-weight: 700;border-radius: 8px;text-decoration: none;transition: all 0.2s}
.schedule-card__btn--book {background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: #fff;box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3)}
.schedule-card__btn--book:hover {transform: scale(1.05);box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4)}
.schedule-card__btn--closed,
.schedule-card__btn--soldout {background: var(--color-border);color: var(--color-text-light);cursor: default}
.schedule-card__info {font-size: 11px;color: var(--color-text-muted);text-align: center;line-height: 1.4}
.schedule-card--management {text-decoration: none;color: inherit;cursor: pointer}
.schedule-card--management.schedule-card--pending {box-shadow: 0 0 0 2px var(--color-warning), 0 6px 20px rgba(245, 158, 11, 0.25)}
.schedule-card--management:visited {color: inherit}
.schedule-card--management:hover {text-decoration: none}
.schedule-card--management.schedule-card--past {opacity: 0.6}
.schedule-card--management.schedule-card--today {box-shadow: 0 0 0 2px #fbbf24, 0 4px 16px rgba(251, 191, 36, 0.3)}
.schedule-card__pending-badge {display: inline-flex;align-items: center;gap: 4px;padding: 3px 8px;font-size: 11px;font-weight: 700;color: #92400e;background: #fef3c7;border-radius: 999px}
.schedule-card__pending-badge i {font-size: 11px}
.schedule-card__management {display: flex;flex-direction: column;gap: 10px}
.schedule-card__reservation-summary {display: flex;flex-wrap: wrap;align-items: center;gap: 12px;padding: 10px 12px;background: var(--color-bg-muted);border-radius: 10px;border: 1px solid var(--color-border)}
.schedule-card__capacity {display: flex;align-items: center;gap: 10px;flex: 1;min-width: 160px}
.schedule-card__capacity-bar {flex: 1;height: 6px;background: var(--color-border);border-radius: 3px;overflow: hidden}
.schedule-card__capacity-fill {height: 100%;background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);border-radius: 3px}
.schedule-card__capacity-text {font-size: 13px;font-weight: 600;color: var(--color-text-secondary);white-space: nowrap}
.schedule-card__capacity.below-minimum .schedule-card__capacity-bar {background: #fef3c7}
.schedule-card__capacity.below-minimum .schedule-card__capacity-fill {background: linear-gradient(90deg, var(--color-warning) 0%, #d97706 100%)}
.schedule-card__capacity.below-minimum .schedule-card__capacity-text {color: #b45309}
.schedule-card__minimum-warning {display: inline-flex;align-items: center;gap: 4px;padding: 2px 8px;font-size: 11px;font-weight: 600;color: #b45309;background: #fef3c7;border-radius: 10px;white-space: nowrap}
.schedule-card__minimum-warning i {font-size: 10px}
.schedule-card__reservation-badges {display: flex;flex-wrap: wrap;gap: 6px}
.schedule-card__reservation-badge {display: inline-flex;align-items: center;gap: 4px;padding: 4px 10px;font-size: 12px;font-weight: 600;border-radius: 12px}
.schedule-card__reservation-badge.confirmed {background: #dcfce7;color: #166534}
.schedule-card__reservation-badge.pending {background: #fef3c7;color: #92400e}
.schedule-card__reservation-empty {display: inline-flex;align-items: center;gap: 6px;padding: 10px 12px;font-size: 13px;color: var(--color-text-light);background: var(--color-bg-muted);border-radius: 10px;border: 1px dashed var(--color-border)}
.schedule-card__action--manage {gap: 10px}
.schedule-card__btn--manage {background: var(--color-bg-secondary);color: var(--color-text-secondary);border: 1px solid var(--color-border)}
.schedule-card--management:hover .schedule-card__btn--manage {background: var(--color-border)}
.schedule-card__btn--auth,
.schedule-card__btn--login {background: var(--color-bg-secondary);color: var(--color-text-muted);border: 1px solid var(--color-border)}
.schedule-card__btn--auth:hover,
.schedule-card__btn--login:hover {background: var(--color-border);color: var(--color-text-secondary)}
.schedule-card__reservation-status {display: inline-flex;align-items: center;gap: 6px;font-size: 12px;font-weight: 600;color: var(--color-text-secondary);background: var(--color-bg-muted);border: 1px solid var(--color-border);border-radius: 8px;padding: 4px 8px;text-align: center}
.schedule-card__reservation-status--pending {color: #92400e;background: #fef3c7;border-color: #fcd34d}
.schedule-card__reservation-status--confirmed {color: #166534;background: #dcfce7;border-color: #86efac}
.schedule-card__reservation-status--cancelled {color: #991b1b;background: #fee2e2;border-color: #fecaca}
.schedule-card__reservation-status--completed {color: #1e40af;background: #dbeafe;border-color: #bfdbfe}
.schedule-card__reservation-status--no_show {color: #4b5563;background: #e5e7eb;border-color: #d1d5db}
.schedule-card__btn--reserved {width: 100%;background: #fffbeb;color: #92400e;border: 1px solid #fcd34d;cursor: default;font-size: 11px;font-weight: 700;line-height: 1.2;padding: 6px 8px;text-align: center}
@media (max-width: 700px) {.schedule-card {grid-template-columns: 70px 1fr;grid-template-rows: auto auto}
.schedule-card__date {grid-row: 1 / 3;padding: 12px 8px}
.schedule-card__day {font-size: 26px}
.schedule-card__content {padding: 12px 14px;gap: 10px}
.schedule-card__fish {font-size: 16px}
.schedule-card__pricing {padding: 10px 12px;gap: 12px}
.schedule-card__price-main .schedule-card__price-value {font-size: 18px}
.schedule-card__action {grid-column: 2;flex-direction: row;justify-content: space-between;padding: 10px 14px;border-left: none;border-top: 1px solid var(--color-border)}
.schedule-card__slots {display: flex;align-items: baseline;gap: 4px}
.schedule-card__slots-num {font-size: 20px}
.schedule-card__btn {width: 88px}}
@media (max-width: 480px) {.schedule-card__time {flex-direction: column;gap: 6px}
.schedule-card__pricing {flex-direction: column;gap: 8px}
.schedule-card__price-sub {padding-left: 0;padding-top: 8px;border-left: none;border-top: 1px dashed var(--color-border);flex-direction: row;gap: 8px;align-items: center}}
@media (max-width: 600px) {.captain-ships-container,
.captain-ship-show-container,
.captain-reservations-container,
.captain-reservation-detail-container,
.fishing-ships-container,
.fishing-ship-show-container {padding: 12px}
.fishing-ships-header h1,
.fishing-ship-show-header h1 {font-size: 1.3em}
.fishing-ships-filter {padding: 16px}
.fishing-ships-filter-row {flex-direction: column}
.fishing-ships-filter-item {width: 100%}
.fishing-ships-filter-item--search {flex: none}
.fishing-ships-filter-section {flex-direction: column;align-items: flex-start;gap: 8px}
.fishing-ships-filter-section-title {margin-bottom: 4px}
.fishing-ships-filter-chips {width: 100%}
.fishing-ships-filter-chip {font-size: 12px;padding: 5px 10px}
.fishing-ships-filter-actions {width: 100%;flex-direction: row;gap: 8px}
.fishing-ships-filter-btn {flex: 1}
.fishing-ships-filter-clear-btn {flex: 0 0 auto}
.fishing-ship-card {padding: 0;overflow: hidden}
.fishing-ship-card-image {margin: 0;height: 140px;border-radius: 12px 12px 0 0}
.fishing-ship-card-header {flex-direction: column;gap: 8px;padding: 16px 16px 0}
.fishing-ship-card-details {padding: 0 16px;gap: 8px}
.fishing-ship-card-detail {font-size: 12px}
.fishing-ship-card-features {padding: 0 16px;margin-bottom: 8px}
.fishing-ship-card-feature {font-size: 11px;padding: 3px 8px}
.fishing-ship-card-description {padding: 0 16px;font-size: 13px}
.fishing-ship-card-footer {margin: 0 16px 16px;padding-top: 12px}
.fishing-ship-show-section {padding: 16px}
.fishing-ship-show-grid {grid-template-columns: 1fr;gap: 12px}
.fishing-ship-show-item {flex-direction: row;justify-content: space-between}
.fishing-ship-show-item label {font-size: 13px}
.fishing-ship-show-item span {font-size: 14px;text-align: right}
.fishing-ship-schedule-item {flex-wrap: wrap;padding: 12px}
.fishing-ship-schedule-date {width: 100%;flex-direction: row;gap: 8px;padding-bottom: 12px;margin-bottom: 12px;border-bottom: 1px solid var(--color-border);justify-content: flex-start;align-items: center}
.fishing-ship-schedule-month {font-size: 14px}
.fishing-ship-schedule-day {font-size: 20px}
.fishing-ship-schedule-info {width: 100%}
.fishing-ship-schedule-details {flex-wrap: wrap;gap: 8px}
.fishing-ship-schedule-action {width: 100%;margin-top: 12px}
.fishing-ship-reserve-btn {width: 100%;justify-content: center;padding: 14px}
.captain-ships-header {flex-direction: column;gap: 12px;align-items: stretch}
.captain-ships-header h1 {font-size: 1.3em}
.captain-ships-add-btn {text-align: center;padding: 12px}
.captain-ship-card {padding: 12px}
.captain-ship-card-image {width: 80px;height: 60px;border-radius: 6px}
.captain-ship-card-no-image {font-size: 24px}
.captain-ship-name {font-size: 1em}
.captain-ship-details {gap: 8px}
.captain-ship-detail {font-size: 12px}
.captain-ship-description {font-size: 13px;-webkit-line-clamp: 2;display: -webkit-box;-webkit-box-orient: vertical;overflow: hidden}
.captain-ship-actions {flex-wrap: wrap;gap: 6px;margin-top: 12px;padding-top: 12px}
.captain-ship-action-btn {flex: 1;min-width: calc(50% - 3px);justify-content: center;padding: 10px 8px;font-size: 12px}
.captain-ship-show-title-row {flex-direction: column;gap: 12px;align-items: stretch}
.captain-ship-show-title-row h1 {font-size: 1.3em}
.captain-ship-show-actions {display: grid;grid-template-columns: 1fr 1fr;gap: 8px}
.captain-ship-show-actions .captain-btn {justify-content: center;padding: 10px}
.captain-ship-show-section {padding: 16px}
.captain-ship-show-grid {grid-template-columns: 1fr;gap: 12px}
.captain-ship-show-item {display: flex;justify-content: space-between}
.captain-ship-show-item label {font-size: 13px}
.captain-ship-show-item span {font-size: 14px}
.captain-ship-show-section-header {flex-direction: column;gap: 12px;align-items: stretch}
.captain-ship-show-section-actions {display: flex;flex-direction: column;gap: 8px}
.captain-ship-show-section-header .captain-btn {justify-content: center}
.captain-reservations-header h1 {font-size: 1.3em}
.captain-reservations-date {font-size: 1em}
.captain-reservation-card {flex-direction: column;align-items: stretch;gap: 12px;padding: 14px}
.captain-reservation-card-info {gap: 8px}
.captain-reservation-card-user {font-size: 14px}
.captain-reservation-card-details {flex-wrap: wrap;gap: 8px;font-size: 12px}
.captain-reservation-card-details span {white-space: nowrap}
.captain-reservation-card-contact {font-size: 12px}
.captain-reservation-card-status {display: flex;justify-content: flex-start}
.captain-reservation-card-actions {display: grid;grid-template-columns: repeat(2, 1fr);gap: 8px;width: 100%;padding-top: 12px;border-top: 1px solid var(--color-border)}
.captain-reservation-card-actions .captain-btn {justify-content: center;padding: 10px 8px;font-size: 12px}
.captain-reservation-detail-header {flex-direction: column;gap: 12px;align-items: flex-start}
.captain-reservation-detail-header h1 {font-size: 1.3em}
.captain-reservation-detail-card {padding: 16px}
.captain-reservation-detail-list dt {font-size: 13px}
.captain-reservation-detail-list dd {font-size: 14px}
.reservation-mgmt {padding: 12px}
.reservation-mgmt-header h1 {font-size: 18px}
.reservation-pending-main {flex-direction: column;gap: 12px}
.reservation-pending-date {flex-direction: row;justify-content: flex-start;gap: 8px;padding: 10px 12px}
.reservation-pending-date-num {font-size: 24px}
.reservation-pending-phone {width: 100%;justify-content: center}
.reservation-pending-actions {flex-direction: column}
.reservation-btn-approve,
.reservation-btn-detail {flex: none;width: 100%}
.reservation-today-customer {flex-wrap: wrap}
.reservation-today-customer-phone {width: 100%;justify-content: center;order: 10;margin-top: 8px}
.reservation-today-customer-actions {margin-left: auto}
.reservation-upcoming-item {flex-wrap: wrap}
.reservation-upcoming-name {width: calc(100% - 130px)}
.captain-reservations-summary {grid-template-columns: 1fr;gap: 10px}
.captain-reservations-summary-card {padding: 12px}
.captain-reservations-summary-count {font-size: 20px}
.captain-reservations-section.pending-section {padding: 12px}
.captain-reservations-cards {grid-template-columns: 1fr}
.captain-reservation-card-new-body {flex-direction: column;gap: 12px}
.captain-reservation-card-new-contact {width: 100%}
.captain-phone-link-compact {width: 100%;justify-content: center}
.captain-reservation-row {flex-wrap: wrap;padding: 12px}
.captain-reservation-row-time {width: auto}
.captain-reservation-row-user {flex: 1;min-width: 0}
.captain-reservation-row-contact {width: 100%;order: 10;margin-top: 8px;padding-top: 8px;border-top: 1px solid var(--color-border-light)}
.captain-reservation-row-status {min-width: auto}
.captain-approval-section {grid-template-columns: 1fr;gap: 12px}
.captain-approval-card-header {padding: 10px 14px}
.captain-approval-card-body {padding: 14px}
.captain-reservation-detail-actions {flex-direction: column;gap: 10px}
.captain-reservation-detail-actions .captain-btn {width: 100%;justify-content: center;padding: 14px}
.captain-reject-form .captain-btn {width: 100%;padding: 14px}
.captain-form-section {padding: 16px}
.captain-form-section h2 {font-size: 1em}
.captain-form-row {grid-template-columns: 1fr}
.captain-form-label {font-size: 13px}
.captain-form-input,
.captain-form-select,
.captain-form-textarea {padding: 12px;font-size: 16px}
.captain-form-actions .captain-btn {width: 100%;padding: 14px;font-size: 15px}
.captain-form-image-preview img {max-width: 100%}
.captain-image-upload-dropzone {padding: 24px 16px}
.captain-image-upload-icon {width: 48px;height: 48px;font-size: 20px}
.captain-image-upload-main {font-size: 14px}
.captain-image-upload-sub {font-size: 12px}
.captain-image-upload-preview img {max-height: 200px}
.captain-image-upload-overlay {opacity: 1;background: rgba(0, 0, 0, 0.4)}
.captain-image-upload-overlay i {font-size: 24px}
.captain-image-upload-overlay span {font-size: 13px}
.reservation-form-container {padding: 12px}
.reservation-form-section {padding: 16px}
.reservation-form-ship-info {flex-direction: column;gap: 12px}
.reservation-form-schedule-details {flex-wrap: wrap;gap: 8px}
.reservation-summary-row {flex-wrap: wrap;gap: 4px}
.reservation-terms {margin: 16px 0}
.reservation-terms-header {padding: 10px 14px;font-size: 14px}
.reservation-terms-content {padding: 14px}
.reservation-terms-content > p {font-size: 13px}
.reservation-terms-items {gap: 10px}
.reservation-terms-item {padding: 10px}
.reservation-terms-item span {font-size: 13px}
.reservations-container {max-width: 100%;padding: 8px 0}
.reservations-header {padding: 0 12px 8px}
.reservations-header h1 {font-size: 1.3em;margin-bottom: 0}
.reservations-list {gap: 10px;margin: 0;padding: 0 12px}
.reservation-card {flex-direction: column;align-items: stretch;padding: 14px 12px;gap: 10px;border-radius: 10px;box-shadow: var(--shadow-sm);border-left: none;border-top: 3px solid var(--color-primary);width: 100%;margin: 0}
.reservation-card.pending {border-top-color: var(--color-warning)}
.reservation-card.confirmed {border-top-color: var(--color-success)}
.reservation-card.cancelled {border-top-color: var(--color-danger)}
.reservation-card.completed {border-top-color: #6366f1}
.reservation-card.no_show {border-top-color: var(--color-text-muted)}
.reservation-card-date {flex-direction: row;align-items: center;justify-content: space-between;gap: 8px;padding-right: 0;padding-bottom: 10px;border-right: none;border-bottom: 1px solid var(--color-border);width: 100%}
.reservation-card-day {font-size: 24px}
.reservation-card-info {gap: 6px;width: 100%}
.reservation-card-ship {font-size: 15px;font-weight: 600}
.reservation-card-time {font-size: 13px}
.reservation-card-details {display: flex;justify-content: space-between;gap: 8px;font-size: 13px;width: 100%}
.reservation-card-status {display: flex;justify-content: flex-end;padding-top: 10px;border-top: 1px solid var(--color-border);width: 100%}
.reservation-card-arrow {display: none}
.reservations-empty {padding: 40px 12px;border-radius: 10px;box-shadow: var(--shadow-sm)}
.reservations-empty-icon {font-size: 40px}
.reservations-empty .btn {width: 100%}
.reservation-detail-container {padding: 12px}
.reservation-detail-header {flex-direction: column;gap: 12px;align-items: flex-start}
.reservation-detail-header h1 {font-size: 1.3em}
.reservation-detail-card {padding: 16px}
.reservation-detail-card h2 {font-size: 0.95em}
.reservation-detail-list {gap: 12px}
.reservation-detail-list dt {font-size: 12px}
.reservation-detail-list dd {font-size: 14px}
.reservation-detail-actions {flex-direction: column;gap: 10px}
.reservation-detail-actions .captain-btn {width: 100%;justify-content: center;padding: 14px}
.reservation-schedule-card {flex-direction: column;gap: 16px;padding: 16px}
.reservation-schedule-date {flex-direction: row;align-items: center;justify-content: center;gap: 12px;padding-right: 0;padding-bottom: 16px;border-right: none;border-bottom: 1px solid rgba(255, 255, 255, 0.3)}
.reservation-schedule-day {font-size: 36px}
.reservation-schedule-time {font-size: 16px}
.reservation-ship-image {height: 160px}
.reservation-detail-grid {grid-template-columns: 1fr;gap: 12px}
.reservation-detail-card.pending-notice {flex-direction: column;text-align: center}
.reservation-map-container {height: 180px}}
@media (max-width: 375px) {.captain-ship-card {flex-direction: column}
.captain-ship-card-image {width: 100%;height: 120px}
.captain-ship-action-btn {min-width: 100%}
.captain-reservation-card-actions {grid-template-columns: 1fr}
.fishing-ship-card-details {flex-direction: column;gap: 4px}
.reservation-card-details {flex-direction: column;gap: 4px}
.fishing-ship-schedule-details {flex-direction: column;gap: 4px}
.captain-ship-show-actions {grid-template-columns: 1fr}}
.captain-ship-name-row {display: flex;align-items: center;gap: 12px;flex-wrap: wrap}
.captain-ship-status-badge {font-size: 11px;font-weight: 600;padding: 4px 10px;border-radius: 12px;white-space: nowrap}
.captain-ship-status-badge.approval_pending {background-color: #fff3cd;color: #856404}
.captain-ship-status-badge.approved {background-color: #d4edda;color: #155724}
.captain-ship-status-badge.rejected {background-color: #f8d7da;color: #721c24}
.captain-ship-pending-notice {font-size: 13px;color: #856404;background-color: #fff3cd;padding: 8px 12px;border-radius: 6px;margin: 8px 0;display: flex;align-items: center;gap: 8px}
.captain-ship-rejected-notice {font-size: 13px;color: #721c24;background-color: #f8d7da;padding: 10px 12px;border-radius: 6px;margin: 8px 0}
.captain-ship-rejected-notice p {margin: 0;display: flex;align-items: center;gap: 8px}
.captain-ship-rejection-reason {margin-top: 8px;padding-top: 8px;border-top: 1px solid rgba(114, 28, 36, 0.2);font-size: 12px}
.captain-ship-rejection-reason strong {display: block;margin-bottom: 4px}
.captain-ship-status-notice {display: flex;align-items: flex-start;gap: 12px;padding: 16px;border-radius: 8px;margin-bottom: 20px}
.captain-ship-status-notice.pending {background-color: #fff3cd;color: #856404}
.captain-ship-status-notice.rejected {background-color: #f8d7da;color: #721c24}
.captain-ship-status-notice i {font-size: 24px;flex-shrink: 0;margin-top: 2px}
.captain-ship-status-notice strong {display: block;font-size: 15px;margin-bottom: 4px}
.captain-ship-status-notice > div > p {margin: 0;font-size: 13px}
.captain-ship-rejection-reason-detail {margin-top: 12px;padding-top: 12px;border-top: 1px solid rgba(114, 28, 36, 0.2)}
.captain-ship-rejection-reason-detail strong {font-size: 13px;margin-bottom: 8px}
.captain-ship-rejection-reason-detail p {background-color: rgba(255, 255, 255, 0.5);padding: 10px;border-radius: 6px;margin: 8px 0 0 0;font-size: 13px}
.captain-ship-reapply-actions {display: flex;gap: 12px;margin-top: 16px;flex-wrap: wrap}
.captain-ship-reapply-actions .captain-btn {flex-shrink: 0}
.captain-ship-rejection-alert {display: flex;align-items: flex-start;gap: 16px;padding: 20px;background-color: #f8d7da;border: 1px solid #f5c6cb;border-radius: 8px;margin-bottom: 24px;color: #721c24}
.captain-ship-rejection-alert-icon {font-size: 28px;flex-shrink: 0}
.captain-ship-rejection-alert-content h2 {font-size: 18px;font-weight: 600;margin: 0 0 8px 0}
.captain-ship-rejection-alert-content > p {margin: 0;font-size: 14px}
.captain-ship-rejection-alert-reason {margin-top: 16px;padding-top: 16px;border-top: 1px solid rgba(114, 28, 36, 0.2)}
.captain-ship-rejection-alert-reason strong {display: block;font-size: 13px;margin-bottom: 8px}
.captain-ship-rejection-alert-reason p {margin: 0;background-color: rgba(255, 255, 255, 0.5);padding: 12px;border-radius: 6px;font-size: 14px}
.captain-ship-reapply-section {margin-top: 32px;padding: 24px;background-color: #e8f4fd;border: 1px solid #b8daff;border-radius: 8px;text-align: center}
.captain-ship-reapply-section h3 {font-size: 18px;font-weight: 600;color: #004085;margin: 0 0 8px 0}
.captain-ship-reapply-section > p {color: #004085;font-size: 14px;margin: 0 0 16px 0}
.captain-ship-reapply-section .captain-btn-large {padding: 14px 32px;font-size: 16px}
.captain-ship-action-btn.primary {background-color: #1a73e8;color: white}
.captain-ship-action-btn.primary:hover {background-color: #1557b0}
.captain-terms-container {max-width: 640px;margin: 0 auto;padding: 24px 16px}
.captain-terms-header {text-align: center;margin-bottom: 32px}
.captain-terms-icon {width: 72px;height: 72px;background: linear-gradient(135deg, #4a90d9 0%, #357abd 100%);border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 16px;box-shadow: 0 4px 12px rgba(74, 144, 217, 0.3)}
.captain-terms-icon i {font-size: 32px;color: #fff}
.captain-terms-header h1 {font-size: 26px;font-weight: 700;color: #333;margin-bottom: 8px}
.captain-terms-subtitle {color: #666;font-size: 14px;margin: 0}
.captain-terms-form {display: flex;flex-direction: column;gap: 20px}
.captain-terms-card {background: #fff;border-radius: 16px;padding: 0;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);overflow: hidden}
.captain-terms-section {padding: 24px}
.captain-terms-divider {height: 1px;background: #e9ecef;margin: 0}
.captain-terms-section-header {display: flex;align-items: center;gap: 12px;margin-bottom: 16px}
.captain-terms-section-icon {width: 40px;height: 40px;background: #e8f4fd;border-radius: 10px;display: flex;align-items: center;justify-content: center;flex-shrink: 0}
.captain-terms-section-icon i {font-size: 18px;color: #4a90d9}
.captain-terms-section-icon.warning {background: #fff3cd}
.captain-terms-section-icon.warning i {color: #856404}
.captain-terms-section-icon.danger {background: #f8d7da}
.captain-terms-section-icon.danger i {color: #721c24}
.captain-terms-section-icon.muted {background: #e9ecef}
.captain-terms-section-icon.muted i {color: #6c757d}
.captain-terms-section h2 {font-size: 17px;font-weight: 600;color: #333;margin: 0}
.captain-terms-content {font-size: 14px;color: #555;line-height: 1.8;margin-bottom: 16px;padding-left: 52px}
.captain-terms-content p {margin: 0 0 12px}
.captain-terms-content ul {padding-left: 20px;margin: 0}
.captain-terms-content li {margin-bottom: 8px;position: relative}
.captain-terms-content li::marker {color: #4a90d9}
.captain-terms-note {font-size: 13px;color: #666;background: #f8f9fa;padding: 10px 12px;border-radius: 6px;margin-top: 12px;border-left: 3px solid #dee2e6}
.captain-terms-link {color: #4a90d9;text-decoration: none;font-weight: 500}
.captain-terms-link:hover {text-decoration: underline}
.captain-terms-checkbox {display: flex;align-items: center;gap: 12px;padding: 14px 16px;background: #f8f9fa;border-radius: 10px;cursor: pointer;margin-left: 52px;transition: background-color 0.2s, box-shadow 0.2s;border: 2px solid transparent}
.captain-terms-checkbox:hover {background: #f0f4f8}
.captain-terms-checkbox:has(input:checked) {background: #e8f4fd;border-color: #4a90d9}
.captain-terms-checkbox input[type="checkbox"] {width: 22px;height: 22px;cursor: pointer;accent-color: #4a90d9;flex-shrink: 0}
.captain-terms-checkbox-text {font-size: 14px;color: #333;font-weight: 500}
.captain-terms-notice {display: flex;align-items: flex-start;gap: 12px;padding: 16px;background: #e8f4fd;border-radius: 12px;border-left: 4px solid #4a90d9}
.captain-terms-notice > i {font-size: 20px;color: #4a90d9;flex-shrink: 0;margin-top: 2px}
.captain-terms-notice strong {display: block;font-size: 14px;color: #333;margin-bottom: 4px}
.captain-terms-notice p {font-size: 13px;color: #555;margin: 0;line-height: 1.6}
.captain-terms-actions {text-align: center}
.captain-terms-submit {width: 100%;padding: 16px 24px;font-size: 16px;font-weight: 600;border-radius: 12px;transition: opacity 0.2s, transform 0.2s}
.captain-terms-submit:disabled {opacity: 0.5;cursor: not-allowed}
.captain-terms-submit:not(:disabled):hover {transform: translateY(-1px)}
.captain-terms-actions-hint {font-size: 13px;color: #888;margin-top: 12px}
.captain-terms-error {color: #dc3545;font-size: 13px;margin-top: 8px;display: flex;align-items: center;gap: 6px}
@media (max-width: 480px) {.captain-terms-container {padding: 16px 12px}
.captain-terms-icon {width: 60px;height: 60px}
.captain-terms-icon i {font-size: 26px}
.captain-terms-header h1 {font-size: 22px}
.captain-terms-section {padding: 20px 16px}
.captain-terms-section-icon {width: 36px;height: 36px}
.captain-terms-section-icon i {font-size: 16px}
.captain-terms-section h2 {font-size: 15px}
.captain-terms-content {padding-left: 0;margin-top: 12px}
.captain-terms-checkbox {margin-left: 0;padding: 12px}
.captain-terms-checkbox input[type="checkbox"] {width: 20px;height: 20px}
.captain-terms-checkbox-text {font-size: 13px}}
.captain-templates {max-width: 800px;margin: 0 auto;padding: 20px}
.captain-templates__back {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);text-decoration: none;font-size: 14px;margin-bottom: 16px}
.captain-templates__back:hover {color: var(--color-primary)}
.captain-templates__hero {display: flex;justify-content: space-between;align-items: flex-start;gap: 16px;margin-bottom: 24px}
.captain-templates__hero-content {flex: 1}
.captain-templates__title {font-size: 24px;font-weight: 700;color: var(--color-text-primary);margin: 0 0 4px;display: flex;align-items: center;gap: 10px}
.captain-templates__title i {color: var(--color-primary)}
.captain-templates__subtitle {font-size: 14px;color: var(--color-text-muted);margin: 0}
.captain-templates__add-btn {display: inline-flex;align-items: center;gap: 6px;padding: 10px 18px;background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white;border-radius: var(--radius-sm);text-decoration: none;font-size: 14px;font-weight: 600;white-space: nowrap}
.captain-templates__add-btn:hover {box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);transform: translateY(-1px)}
.captain-templates__alert {display: flex;align-items: center;gap: 10px;padding: 12px 16px;border-radius: var(--radius-sm);font-size: 14px;margin-bottom: 20px}
.captain-templates__alert.warning {background: #fef3c7;color: #92400e}
.captain-templates__hint {font-size: 14px;color: var(--color-text-muted);margin-bottom: 20px;display: flex;align-items: center;gap: 8px}
.captain-templates__list {display: flex;flex-direction: column;gap: 12px}
.captain-template-card {display: flex;background: white;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 16px;gap: 16px}
.captain-template-card__main {flex: 1;min-width: 0}
.captain-template-card__header {display: flex;align-items: center;gap: 10px;margin-bottom: 10px}
.captain-template-card__name {font-size: 16px;font-weight: 600;color: var(--color-text-primary);margin: 0;display: flex;align-items: center;gap: 8px}
.captain-template-card__name i {color: var(--color-primary)}
.captain-template-card__type {font-size: 12px;font-weight: 600;padding: 3px 8px;border-radius: 4px}
.captain-template-card__type.shared {background: #dbeafe;color: #1d4ed8}
.captain-template-card__type.charter {background: #fef3c7;color: #92400e}
.captain-template-card__details {display: flex;flex-wrap: wrap;gap: 12px;font-size: 14px;color: var(--color-text-secondary);margin-bottom: 10px}
.captain-template-card__details > span {display: flex;align-items: center;gap: 5px}
.captain-template-card__details i {color: var(--color-text-muted)}
.captain-template-card__badges {display: flex;flex-wrap: wrap;gap: 8px}
.captain-template-card__badge {font-size: 12px;padding: 3px 8px;background: var(--color-bg-secondary);color: var(--color-text-secondary);border-radius: 4px;display: inline-flex;align-items: center;gap: 4px}
.captain-template-card__actions {display: flex;flex-direction: column;gap: 8px}
.captain-template-card__action {width: 36px;height: 36px;border-radius: var(--radius-sm);display: flex;align-items: center;justify-content: center;border: none;cursor: pointer;transition: all 0.2s}
.captain-template-card__action.edit {background: #e0f2fe;color: #0369a1;text-decoration: none}
.captain-template-card__action.edit:hover {background: #bae6fd}
.captain-template-card__action.delete {background: #fee2e2;color: var(--color-danger-dark)}
.captain-template-card__action.delete:hover {background: #fecaca}
.captain-templates__empty {text-align: center;padding: 60px 20px;background: white;border: 2px dashed var(--color-border);border-radius: var(--radius-lg)}
.captain-templates__empty-icon {font-size: 48px;color: var(--color-text-light);margin-bottom: 16px}
.captain-templates__empty h2 {font-size: 18px;font-weight: 600;color: var(--color-text-primary);margin: 0 0 8px}
.captain-templates__empty p {font-size: 14px;color: var(--color-text-muted);margin: 0 0 24px;line-height: 1.6}
.captain-template-form-page {max-width: 640px;margin: 0 auto;padding: 20px}
.captain-template-form-page__back {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);text-decoration: none;font-size: 14px;margin-bottom: 16px}
.captain-template-form-page__back:hover {color: var(--color-primary)}
.captain-template-form-page__hero {display: flex;align-items: center;gap: 16px;margin-bottom: 24px;padding: 20px;background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);border-radius: var(--radius-md)}
.captain-template-form-page__hero.new {background: linear-gradient(135deg, #dcfce7 0%, #f0fdf4 100%)}
.captain-template-form-page__hero-icon {font-size: 32px;color: var(--color-primary)}
.captain-template-form-page__hero.new .captain-template-form-page__hero-icon {color: var(--color-success)}
.captain-template-form-page__title {font-size: 20px;font-weight: 700;color: var(--color-text-primary);margin: 0 0 4px}
.captain-template-form-page__subtitle {font-size: 14px;color: var(--color-text-muted);margin: 0}
.captain-template-form__errors {display: flex;gap: 12px;background: #fef2f2;border: 1px solid #fecaca;border-radius: var(--radius-md);padding: 16px;margin-bottom: 20px}
.captain-template-form__errors-icon {color: var(--color-danger-dark);font-size: 20px}
.captain-template-form__errors-content strong {display: block;font-size: 14px;color: var(--color-danger-dark);margin-bottom: 8px}
.captain-template-form__errors-content ul {margin: 0;padding-left: 18px}
.captain-template-form__errors-content li {font-size: 13px;color: #b91c1c;line-height: 1.5}
.captain-template-form__card {background: white;border: 1px solid var(--color-border);border-radius: var(--radius-md);margin-bottom: 16px;overflow: hidden}
.captain-template-form__card-header {padding: 14px 18px;background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border);font-size: 15px;font-weight: 600;color: var(--color-text-primary);display: flex;align-items: center;gap: 8px}
.captain-template-form__card-header i {color: var(--color-primary)}
.captain-template-form__card-body {padding: 18px}
.captain-template-form__field {margin-bottom: 18px}
.captain-template-form__field:last-child {margin-bottom: 0}
.captain-template-form__field.grow {flex: 1}
.captain-template-form__row {display: flex;gap: 16px}
.captain-template-form__row > .captain-template-form__field {flex: 1}
.captain-template-form__label {display: block;font-size: 14px;font-weight: 500;color: var(--color-text-secondary);margin-bottom: 8px}
.captain-template-form__label.required::after {content: "*";color: var(--color-danger);margin-left: 4px}
.captain-template-form__input,
.captain-template-form__select,
.captain-template-form__textarea {width: 100%;padding: 11px 14px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);font-size: 15px;color: var(--color-text-primary);background: white;transition: all 0.2s;box-sizing: border-box}
.captain-template-form__input:focus,
.captain-template-form__select:focus,
.captain-template-form__textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.captain-template-form__input::placeholder,
.captain-template-form__textarea::placeholder {color: var(--color-text-light)}
.captain-template-form__select {appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 12px center;padding-right: 36px}
.captain-template-form__textarea {resize: vertical;min-height: 80px}
.captain-template-form__input-group {display: flex;align-items: center;width: 100%;max-width: 100%}
.captain-template-form__input-group .captain-template-form__input {flex: 1;min-width: 0;border-top-right-radius: 0;border-bottom-right-radius: 0;border-right: none}
.captain-template-form__input-suffix {padding: 11px 12px;background: var(--color-bg-secondary);border: 1px solid var(--color-border);border-left: none;border-radius: 0 var(--radius-sm) var(--radius-sm) 0;font-size: 14px;color: var(--color-text-muted)}
.captain-template-form__hint {font-size: 12px;color: var(--color-text-muted);margin-top: 6px}
.captain-template-form__charter-note {display: flex;align-items: center;gap: 8px;padding: 12px 16px;background: #f0f9ff;border-radius: 8px;font-size: 14px;color: #0369a1;margin: 0}
.captain-template-form__charter-note i {color: #0ea5e9}
.captain-template-form__checkboxes {display: flex;flex-direction: column;gap: 12px}
.captain-template-form__checkbox-item {display: flex;align-items: flex-start;gap: 10px;cursor: pointer;padding: 12px;background: var(--color-bg-muted);border-radius: var(--radius-sm)}
.captain-template-form__checkbox {margin-top: 2px}
.captain-template-form__checkbox-label {font-size: 14px;font-weight: 500;color: var(--color-text-primary);display: flex;align-items: center;gap: 6px}
.captain-template-form__checkbox-hint {font-size: 12px;color: var(--color-text-muted);margin-left: auto}
.captain-template-form__actions {margin-top: 24px}
.captain-template-form__submit {width: 100%;padding: 14px 24px;background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: white;border: none;border-radius: var(--radius-sm);font-size: 16px;font-weight: 600;cursor: pointer;transition: all 0.2s}
.captain-template-form__submit:hover {box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);transform: translateY(-1px)}
.captain-schedule-templates {margin-bottom: 24px}
.captain-schedule-templates__header {font-size: 15px;font-weight: 600;color: var(--color-text-primary);margin-bottom: 12px;display: flex;align-items: center;gap: 8px}
.captain-schedule-templates__header i {color: var(--color-primary)}
.captain-schedule-templates__list {display: flex;flex-wrap: wrap;gap: 10px}
.captain-schedule-templates__item {display: flex;align-items: center;gap: 8px;padding: 10px 14px;background: white;border: 1px solid var(--color-border);border-radius: var(--radius-sm);text-decoration: none;color: var(--color-text-secondary);font-size: 14px;transition: all 0.2s}
.captain-schedule-templates__item:hover {border-color: var(--color-primary);background: #f0f9ff;color: var(--color-primary)}
.captain-schedule-templates__item.active {border-color: var(--color-primary);background: #e0f2fe;color: var(--color-primary);font-weight: 600}
.captain-schedule-templates__item i {color: var(--color-primary)}
.captain-schedule-templates__manage {display: inline-flex;align-items: center;gap: 6px;padding: 10px 14px;background: var(--color-bg-secondary);border: 1px dashed var(--color-border);border-radius: var(--radius-sm);text-decoration: none;color: var(--color-text-muted);font-size: 14px}
.captain-schedule-templates__manage:hover {background: var(--color-border);color: var(--color-text-secondary)}
@media (max-width: 640px) {.captain-templates__hero {flex-direction: column;align-items: stretch}
.captain-templates__add-btn {text-align: center;justify-content: center}
.captain-template-card {flex-direction: column}
.captain-template-card__actions {flex-direction: row;justify-content: flex-end}
.captain-template-form__row {flex-direction: column;gap: 0}
.captain-template-form__checkbox-hint {display: none}
.captain-schedule-templates__list {flex-direction: column}}
.captain-plan-container {max-width: 500px;margin: 20px auto;padding: 20px}
.captain-plan-header {text-align: center;margin-bottom: 24px}
.captain-plan-header h1 {font-size: 1.5rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 8px}
.captain-plan-header h1 i {color: var(--color-warning);margin-right: 8px}
.captain-plan-ship-name {font-size: 0.95rem;color: var(--color-text-muted);margin: 0}
.captain-plan-ship-name i {margin-right: 6px}
.captain-plan-active {background: #fff;border-radius: 12px;padding: 32px 24px;text-align: center;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.captain-plan-active-icon {font-size: 3rem;color: #10b981;margin-bottom: 16px}
.captain-plan-active h2 {font-size: 1.25rem;font-weight: 600;color: var(--color-text-primary);margin: 0 0 20px}
.captain-plan-status {display: flex;align-items: center;gap: 12px;padding: 16px;border-radius: 8px;margin-bottom: 24px;text-align: left}
.captain-plan-status.trial {background: #fef3c7;color: #92400e}
.captain-plan-status.trial i {font-size: 1.5rem;color: var(--color-warning)}
.captain-plan-status.active {background: #d1fae5;color: #065f46}
.captain-plan-status.active i {font-size: 1.5rem;color: #10b981}
.captain-plan-status strong {display: block;font-size: 0.9rem;margin-bottom: 2px}
.captain-plan-status p {font-size: 0.85rem;margin: 0;opacity: 0.9}
.captain-plan-notice {display: flex;gap: 12px;background: #fef3c7;border-radius: 8px;padding: 16px;margin-bottom: 24px}
.captain-plan-notice > i {color: var(--color-warning);font-size: 1.2rem;flex-shrink: 0}
.captain-plan-notice strong {display: block;color: #92400e;font-size: 0.95rem;margin-bottom: 4px}
.captain-plan-notice p {color: #a16207;font-size: 0.85rem;margin: 0}
.captain-plan-card {background: #fff;border-radius: 12px;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);overflow: hidden}
.captain-plan-card-header {background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);padding: 24px;text-align: center;color: #fff}
.captain-plan-card-header h2 {font-size: 1.1rem;font-weight: 600;margin: 0 0 12px}
.captain-plan-price {display: flex;align-items: baseline;justify-content: center;gap: 4px}
.captain-plan-price .price {font-size: 2.5rem;font-weight: 700}
.captain-plan-price .unit {font-size: 1rem;opacity: 0.9}
.captain-plan-card-body {padding: 24px}
.captain-plan-features {list-style: none;padding: 0;margin: 0 0 20px}
.captain-plan-features li {display: flex;align-items: center;gap: 10px;padding: 10px 0;border-bottom: 1px solid var(--color-border-light);font-size: 0.95rem;color: #334155}
.captain-plan-features li:last-child {border-bottom: none}
.captain-plan-features li i {color: #10b981}
.captain-plan-note {display: flex;align-items: center;gap: 8px;font-size: 0.85rem;color: var(--color-text-muted);background: var(--color-bg-muted);padding: 12px;border-radius: 6px}
.captain-plan-note i {color: var(--color-text-light)}
.captain-plan-card-footer {padding: 0 24px 24px}
.captain-plan-btn {display: flex;align-items: center;justify-content: center;gap: 8px;width: 100%;box-sizing: border-box;padding: 14px 24px;border: none;border-radius: 8px;font-size: 1rem;font-weight: 600;text-decoration: none;cursor: pointer;transition: all 0.2s}
.captain-plan-btn.primary {background: #0ea5e9;color: #fff}
.captain-plan-btn.primary:hover {background: #0284c7}
.captain-plan-btn.secondary {background: var(--color-bg-secondary);color: var(--color-text-secondary)}
.captain-plan-btn.secondary:hover {background: var(--color-border)}
.captain-plan-btn.purchase {background: linear-gradient(135deg, var(--color-warning) 0%, #d97706 100%);color: #fff}
.captain-plan-btn.purchase:hover {background: linear-gradient(135deg, #d97706 0%, #b45309 100%)}
.captain-plan-help {text-align: center;margin-top: 16px}
.captain-plan-help p {font-size: 0.85rem;color: var(--color-text-muted);margin: 0}
.captain-plan-help i {margin-right: 6px;color: #10b981}
.captain-plan-back {margin-top: 24px;text-align: center}
.captain-plan-link {display: inline-flex;align-items: center;gap: 6px;color: var(--color-text-muted);text-decoration: none;font-size: 0.9rem}
.captain-plan-link:hover {color: #0ea5e9}
.captain-plan-success {background: #fff;border-radius: 12px;padding: 40px 24px;text-align: center;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)}
.captain-plan-success-icon {font-size: 4rem;color: #10b981;margin-bottom: 20px}
.captain-plan-success h1 {font-size: 1.5rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 8px}
.captain-plan-success .captain-plan-ship-name {margin-bottom: 24px}
.captain-plan-success-details {background: var(--color-bg-muted);border-radius: 8px;padding: 16px;margin-bottom: 24px;text-align: left}
.captain-plan-success-item {display: flex;justify-content: space-between;padding: 8px 0;border-bottom: 1px solid var(--color-border)}
.captain-plan-success-item:last-child {border-bottom: none}
.captain-plan-success-item .label {color: var(--color-text-muted);font-size: 0.9rem}
.captain-plan-success-item .value {color: var(--color-text-primary);font-weight: 500;font-size: 0.9rem}
.captain-plan-success-message {color: var(--color-text-muted);font-size: 0.95rem;margin-bottom: 24px}
.captain-plan-success-actions {display: flex;flex-direction: column;gap: 12px}
.captain-plan-status-box {background: linear-gradient(135deg, var(--color-bg-muted) 0%, var(--color-bg-secondary) 100%);border: 1px solid var(--color-border);border-radius: 12px;padding: 20px;margin-bottom: 24px}
.captain-plan-status-header {display: flex;align-items: center;gap: 8px;margin-bottom: 12px;color: var(--color-text-secondary);font-size: 0.9rem}
.captain-plan-status-header i {color: var(--color-primary)}
.captain-plan-status-content {display: flex;align-items: baseline;gap: 8px;flex-wrap: wrap}
.captain-plan-expires-date {font-size: 1.25rem;font-weight: 600}
.captain-plan-expires-date.active {color: #059669}
.captain-plan-expires-date.expired {color: var(--color-danger-dark)}
.captain-plan-remaining {color: #059669;font-size: 0.9rem}
.captain-plan-expired-label {color: var(--color-danger-dark);font-size: 0.9rem;font-weight: 500}
.captain-plan-no-date {color: var(--color-text-light);font-size: 1.1rem}
.captain-plan-trial-badge {display: inline-flex;align-items: center;gap: 6px;background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);color: #92400e;padding: 6px 12px;border-radius: 20px;font-size: 0.85rem;font-weight: 500;margin-top: 12px}
.captain-plan-trial-badge i {color: var(--color-warning)}
.captain-plan-ticket-count {display: inline-flex;align-items: center;gap: 6px;background: #ede9fe;color: #6d28d9;padding: 6px 12px;border-radius: 20px;font-size: 0.85rem;font-weight: 500;margin-top: 12px}
.captain-plan-ticket-count i {color: #7c3aed}
.captain-plan-extend {margin-top: 32px;padding-top: 24px;border-top: 1px solid var(--color-border)}
.captain-plan-extend h3 {display: flex;align-items: center;gap: 8px;color: #334155;font-size: 1.1rem;margin-bottom: 12px}
.captain-plan-extend h3 i {color: var(--color-primary)}
.captain-plan-extend-desc {color: var(--color-text-muted);font-size: 0.95rem;margin-bottom: 16px}
.captain-plan-card.compact {background: #fff;border: 1px solid var(--color-border);padding: 0}
.captain-plan-card.compact .captain-plan-card-header {display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 8px 12px;padding: 16px 20px;border-bottom: none}
.captain-plan-card.compact .captain-plan-card-header h4 {margin: 0;font-size: 1rem;color: #334155}
.captain-plan-card.compact .captain-plan-price {justify-content: flex-end;text-align: right}
.captain-plan-card.compact .captain-plan-price .price {font-size: 1.5rem}
.captain-plan-card.compact .captain-plan-card-footer {padding: 10px 20px 16px}
.captain-plan-restricted {display: flex;gap: 12px;background: var(--color-bg-secondary);border: 1px solid #cbd5e1;border-radius: 8px;padding: 16px;margin-top: 24px}
.captain-plan-restricted > i {color: var(--color-text-muted);font-size: 1.25rem;flex-shrink: 0}
.captain-plan-restricted strong {display: block;color: var(--color-text-secondary);margin-bottom: 4px}
.captain-plan-restricted p {color: var(--color-text-muted);font-size: 0.9rem;margin: 0}
.captain-plan-history {margin-top: 32px;padding-top: 24px;border-top: 1px solid var(--color-border)}
.captain-plan-history-header {display: flex;align-items: center;justify-content: space-between;gap: 12px;flex-wrap: wrap;margin-bottom: 16px}
.captain-plan-history-header h2 {display: flex;align-items: center;gap: 8px;color: #334155;font-size: 1.1rem;margin: 0}
.captain-plan-history-header h2 i {color: var(--color-primary)}
.captain-plan-history-count {color: var(--color-text-muted);font-size: 0.85rem;background: var(--color-bg-secondary);padding: 4px 10px;border-radius: 999px}
.captain-plan-history-table {border: 1px solid var(--color-border);border-radius: 12px;overflow: hidden;background: #ffffff}
.captain-plan-history-row {display: grid;grid-template-columns: 1.4fr 1fr 0.9fr 0.8fr 1.6fr;gap: 0;border-top: 1px solid var(--color-border)}
.captain-plan-history-row.header {background: var(--color-bg-muted);border-top: none;font-size: 0.85rem;color: var(--color-text-secondary);font-weight: 600}
.captain-plan-history-row .cell {padding: 12px 14px;font-size: 0.9rem;color: #1f2937;display: flex;align-items: center;word-break: break-word}
.captain-plan-status-badge {display: inline-flex;align-items: center;padding: 2px 8px;border-radius: 999px;font-size: 0.75rem;font-weight: 600}
.captain-plan-status-badge.pending {background: #fef3c7;color: #92400e}
.captain-plan-status-badge.completed {background: #dcfce7;color: #166534}
.captain-plan-status-badge.failed {background: #fee2e2;color: #991b1b}
.captain-plan-status-badge.refunded {background: #e0e7ff;color: #3730a3}
.captain-plan-history-empty {border: 1px dashed #cbd5e1;border-radius: 12px;padding: 20px;text-align: center;color: var(--color-text-muted);background: var(--color-bg-muted);display: flex;flex-direction: column;align-items: center;gap: 8px}
.captain-plan-history-empty i {color: var(--color-text-light);font-size: 1.25rem}
@media (max-width: 640px) {.captain-plan-container {padding: 16px}
.captain-plan-price .price {font-size: 2rem}
.captain-plan-success {padding: 32px 20px}
.captain-plan-status-box {padding: 16px}
.captain-plan-expires-date {font-size: 1.1rem}
.captain-plan-status-content {flex-direction: column;align-items: flex-start;gap: 4px}
.captain-plan-card.compact .captain-plan-card-header {flex-direction: column;align-items: flex-start}
.captain-plan-card.compact .captain-plan-price {justify-content: flex-start;text-align: left}
.captain-plan-history-row {grid-template-columns: 1fr}
.captain-plan-history-row.header {display: none}
.captain-plan-history-row .cell {padding: 10px 14px;align-items: flex-start;flex-direction: column;gap: 4px}
.captain-plan-history-row .cell::before {content: attr(data-label);font-size: 0.75rem;color: var(--color-text-muted);font-weight: 600}}
.captain-contact-info-readonly {background: var(--bg-tertiary, #f5f5f5);border: 1px solid var(--border-color, #e0e0e0);border-radius: 8px;padding: 12px 16px;display: flex;flex-wrap: wrap;gap: 16px}
.captain-contact-info-item {display: flex;align-items: center;gap: 8px;color: var(--text-secondary, #666);font-size: 0.95rem}
.captain-contact-info-item i {color: var(--primary-color, #0277bd);width: 16px;text-align: center}
@media (max-width: 640px) {.captain-contact-info-readonly {flex-direction: column;gap: 8px}}
.captain-contact-verified {display: flex;align-items: center;justify-content: space-between;gap: 12px;background: var(--success-bg, #e8f5e9);border: 1px solid var(--success-color, #4caf50);border-radius: 8px;padding: 12px 16px}
.captain-contact-verified-info {display: flex;align-items: center;gap: 8px}
.captain-contact-verified-info i {color: var(--success-color, #4caf50)}
.captain-contact-verified-badge {background: var(--success-color, #4caf50);color: white;font-size: 0.75rem;padding: 2px 8px;border-radius: 4px;font-weight: bold}
.captain-contact-pending {background: var(--warning-bg, #fff3e0);border: 1px solid var(--warning-color, #ff9800);border-radius: 8px;padding: 12px 16px}
.captain-contact-pending-info {display: flex;align-items: center;gap: 8px;margin-bottom: 8px}
.captain-contact-pending-info i {color: var(--warning-color, #ff9800)}
.captain-contact-pending-badge {background: var(--warning-color, #ff9800);color: white;font-size: 0.75rem;padding: 2px 8px;border-radius: 4px;font-weight: bold}
.captain-contact-form {margin: 0}
.captain-contact-form-row {display: flex;gap: 8px;align-items: stretch}
.captain-contact-form-row .captain-form-input {flex: 1}
.captain-contact-form-row .btn {flex-shrink: 0}
.captain-contact-verification-code {display: flex;gap: 8px;margin-top: 12px;align-items: stretch}
.captain-contact-verification-code .captain-form-input {width: 150px}
.captain-contact-verified-info,
.captain-contact-pending-info {flex-wrap: wrap}
.captain-contact-new-ship-notice {background: var(--info-bg, #e3f2fd);border: 1px solid var(--info-color, #2196f3);border-radius: 8px;padding: 12px 16px;display: flex;align-items: center;gap: 8px;color: var(--info-color, #2196f3)}
.captain-contact-new-ship-notice i {flex-shrink: 0}
@media (max-width: 640px) {.captain-contact-verified {flex-direction: column;align-items: flex-start}
.captain-contact-form-row {flex-direction: column;align-items: stretch}
.captain-contact-verification-code {flex-direction: column;align-items: stretch}
.captain-contact-verification-code .captain-form-input {width: 100%}}
.captain-ship-show__contact-info {display: flex;flex-direction: column;gap: 12px}
.captain-ship-show__contact-item {display: flex;flex-direction: column;gap: 4px}
.captain-ship-show__contact-item .captain-ship-show__info-label {display: flex;align-items: center;gap: 6px}
.captain-ship-show__contact-item .captain-ship-show__info-value {display: flex;align-items: center;gap: 8px;flex-wrap: wrap}
.captain-ship-show__contact-badge {font-size: 0.7rem;padding: 2px 6px;border-radius: 4px;font-weight: bold}
.captain-ship-show__contact-badge.ship {background: var(--primary-color, #0277bd);color: white}
.captain-ship-show__contact-badge.captain {background: var(--bg-tertiary, #e0e0e0);color: var(--text-secondary, #666)}
.captain-ship-show__contact-not-set {color: var(--text-tertiary, #999);font-style: italic}
.captain-ship-show__contact-description {font-size: 0.8rem;color: var(--text-tertiary, #888);margin-top: 2px}
.captain-ship-show__contact-pending-notice {display: flex;align-items: center;gap: 8px;background: var(--warning-bg, #fff3e0);border: 1px solid var(--warning-color, #ff9800);border-radius: 6px;padding: 8px 12px;font-size: 0.85rem;color: var(--warning-color, #ff9800);margin-top: 8px}
.captain-ship-show__contact-edit {margin-top: 12px;padding-top: 12px;border-top: 1px solid var(--border-color, #e0e0e0)}
.captain-contact-edit-page {max-width: 760px;margin: 0 auto;padding: 24px 20px 32px}
.captain-contact-edit-page__back {display: inline-flex;align-items: center;gap: 6px;color: var(--text-secondary, #666);text-decoration: none;margin-bottom: 20px;font-size: 0.9rem}
.captain-contact-edit-page__back:hover {color: var(--primary-color, #0277bd)}
.captain-contact-edit-page__container {background: white;border: 1px solid var(--color-border);border-radius: 14px;box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);overflow: hidden}
.captain-contact-edit-page__header {background: var(--primary-color, #0277bd);color: white;padding: 24px}
.captain-contact-edit-page__header h1 {margin: 0 0 8px 0;font-size: 1.5rem;display: flex;align-items: center;gap: 10px}
.captain-contact-edit-page__description {margin: 0;opacity: 0.9;font-size: 0.9rem}
.captain-contact-edit-page__section {padding: 22px 24px;border-bottom: 1px solid var(--border-color, #e0e0e0)}
.captain-contact-edit-page__section:last-child {border-bottom: none}
.captain-contact-edit-page__section h2 {margin: 0 0 14px 0;font-size: 1rem;color: #334155;letter-spacing: 0.01em}
.captain-contact-edit-page__current {background: var(--color-bg-muted);border: 1px solid var(--color-border);border-radius: 8px;padding: 16px}
.captain-contact-edit-page__current-item {display: flex;flex-direction: column;gap: 4px}
.captain-contact-edit-page__current-label {font-size: 0.8rem;color: var(--text-tertiary, #888)}
.captain-contact-edit-page__current-value {font-size: 1.1rem;font-weight: 500;display: flex;align-items: center;gap: 8px;flex-wrap: wrap}
.captain-contact-edit-page__badge {font-size: 0.7rem;padding: 2px 6px;border-radius: 4px;font-weight: bold}
.captain-contact-edit-page__badge.ship {background: var(--primary-color, #0277bd);color: white}
.captain-contact-edit-page__badge.captain {background: var(--bg-tertiary, #e0e0e0);color: var(--text-secondary, #666)}
.captain-contact-edit-page__not-set {color: var(--text-tertiary, #999);font-style: italic}
.captain-contact-edit-page__reference {display: flex;align-items: center;gap: 8px;flex-wrap: wrap;color: var(--color-text-secondary);background: var(--color-bg-muted);border: 1px solid var(--color-border);padding: 12px 16px;border-radius: 8px}
.captain-contact-edit-page__input-description {margin: 0 0 12px 0;color: var(--text-secondary, #666);font-size: 0.9rem}
@media (max-width: 640px) {.captain-contact-edit-page {padding: 16px 12px 24px}
.captain-contact-edit-page__header {padding: 20px}
.captain-contact-edit-page__section {padding: 16px 20px}
.captain-contact-edit-page__current-value {font-size: 1rem}}
.captain-dashboard {max-width: 900px;margin: 0 auto;padding: 16px}
.captain-dashboard__header {background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);border-radius: 16px;padding: 24px;margin-bottom: 20px;color: white}
.captain-dashboard__title {display: flex;align-items: center;gap: 10px;font-size: 22px;font-weight: 700;margin: 0 0 4px 0}
.captain-dashboard__title i {color: #60a5fa}
.captain-dashboard__ship-name {font-size: 15px;color: rgba(255, 255, 255, 0.8);margin: 0}
.captain-dashboard__alert {display: flex;align-items: flex-start;gap: 12px;padding: 16px 20px;background: #fef3c7;border: 1px solid #fcd34d;border-radius: 12px;margin-bottom: 16px;font-size: 14px;color: #92400e}
.captain-dashboard__alert.warning {background: #fef3c7;border-color: #fcd34d;color: #92400e}
.captain-dashboard__alert.expired {background: #fee2e2;border-color: #fecaca;color: #991b1b}
.captain-dashboard__alert.info {background: #dbeafe;border-color: #93c5fd;color: #1e40af}
.captain-dashboard__alert > i {flex-shrink: 0;font-size: 18px;margin-top: 2px}
.captain-dashboard__alert.warning > i {color: var(--color-warning)}
.captain-dashboard__alert.expired > i {color: var(--color-danger-dark)}
.captain-dashboard__alert.info > i {color: var(--color-primary)}
.captain-dashboard__alert strong {display: block;margin-bottom: 4px}
.captain-dashboard__alert p {margin: 0;font-size: 13px;opacity: 0.9}
.captain-dashboard__alert-btn {display: inline-flex;align-items: center;gap: 6px;margin-top: 10px;padding: 8px 14px;background: var(--color-warning);color: white;border-radius: 8px;font-size: 13px;font-weight: 600;text-decoration: none;transition: all 0.2s}
.captain-dashboard__alert.expired .captain-dashboard__alert-btn {background: var(--color-danger-dark)}
.captain-dashboard__alert-btn:hover {transform: translateY(-1px);box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15)}
.captain-dashboard__alert-link {display: inline-flex;align-items: center;gap: 4px;margin-top: 6px;color: inherit;font-size: 13px;font-weight: 500;text-decoration: none;opacity: 0.9}
.captain-dashboard__alert-link:hover {opacity: 1;text-decoration: underline}
.captain-dashboard__stats {display: grid;grid-template-columns: repeat(2, 1fr);gap: 12px;margin-bottom: 20px}
.captain-dashboard__stat-card {display: flex;align-items: center;gap: 12px;background: white;border-radius: 12px;padding: 16px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06)}
.captain-dashboard__stat-icon {width: 44px;height: 44px;display: flex;align-items: center;justify-content: center;border-radius: 10px;flex-shrink: 0}
.captain-dashboard__stat-icon i {font-size: 18px;color: white}
.captain-dashboard__stat-icon.reservations {background: linear-gradient(135deg, var(--color-primary), #1d4ed8)}
.captain-dashboard__stat-icon.reservations-total {background: linear-gradient(135deg, #60a5fa, var(--color-primary))}
.captain-dashboard__stat-icon.revenue {background: linear-gradient(135deg, #10b981, #059669)}
.captain-dashboard__stat-icon.revenue-total {background: linear-gradient(135deg, #34d399, #10b981)}
.captain-dashboard__stat-icon.views {background: linear-gradient(135deg, #8b5cf6, #6d28d9)}
.captain-dashboard__stat-icon.views-total {background: linear-gradient(135deg, #a78bfa, #8b5cf6)}
.captain-dashboard__stat-content {display: flex;flex-direction: column;min-width: 0}
.captain-dashboard__stat-value {font-size: 22px;font-weight: 700;color: var(--color-text-primary);line-height: 1.2}
.captain-dashboard__stat-label {font-size: 12px;color: var(--color-text-muted)}
.captain-dashboard__warning-icon {position: relative;display: inline-flex;align-items: center;justify-content: center;margin-left: 6px;padding: 0;background: none;border: none;color: var(--color-warning);font-size: 16px;cursor: pointer;vertical-align: middle}
.captain-dashboard__warning-icon:hover {color: #d97706}
.captain-dashboard__warning-tooltip {display: none;position: absolute;top: 50%;right: calc(100% + 10px);transform: translateY(-50%);width: max-content;max-width: 180px;padding: 10px 12px;background: var(--color-text-primary);color: white;font-size: 12px;font-weight: 400;line-height: 1.4;border-radius: 8px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);z-index: 100;white-space: normal}
.captain-dashboard__warning-tooltip::before {content: "";position: absolute;top: 50%;left: 100%;transform: translateY(-50%);border: 6px solid transparent;border-left-color: var(--color-text-primary)}
.captain-dashboard__warning-tooltip.visible {display: block}
.captain-dashboard__chart-section {background: white;border-radius: 16px;padding: 20px;margin-top: 20px;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08)}
.captain-dashboard__chart-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 16px}
.captain-dashboard__chart-title {font-size: 15px;font-weight: 600;color: var(--color-text-primary);margin: 0;display: flex;align-items: center;gap: 8px}
.captain-dashboard__chart-title i {color: var(--color-primary)}
.captain-dashboard__chart-period {font-size: 12px;color: var(--color-text-muted);background: var(--color-bg-secondary);padding: 4px 10px;border-radius: 12px}
.captain-dashboard__chart-container {display: flex;align-items: flex-end;gap: 2px;height: 120px;padding: 8px 4px 20px;background: var(--color-bg-muted);border-radius: 8px}
.pv-bar-container {flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: flex-end;position: relative}
.pv-bar-wrapper {width: 100%;display: flex;flex-direction: column;align-items: center;position: relative;cursor: pointer}
.pv-bar {width: 100%;max-width: 14px;background: linear-gradient(180deg, var(--color-primary) 0%, #93c5fd 100%);border-radius: 3px 3px 0 0;min-height: 3px;transition: all 0.2s ease;cursor: pointer}
.pv-bar:hover,
.pv-bar.active {background: linear-gradient(180deg, #1d4ed8 0%, var(--color-primary) 100%)}
.pv-bar-tooltip {position: absolute;bottom: 100%;left: 50%;transform: translateX(-50%);background: var(--color-text-primary);color: white;padding: 6px 10px;border-radius: 6px;font-size: 11px;white-space: nowrap;opacity: 0;visibility: hidden;transition: opacity 0.2s, visibility 0.2s;z-index: 10;pointer-events: none;margin-bottom: 4px}
.pv-bar-tooltip::after {content: '';position: absolute;top: 100%;left: 50%;transform: translateX(-50%);border: 5px solid transparent;border-top-color: var(--color-text-primary)}
.pv-bar-wrapper:hover .pv-bar-tooltip,
.pv-bar-wrapper.active .pv-bar-tooltip {opacity: 1;visibility: visible}
.pv-bar-tooltip-date {font-weight: 600;margin-bottom: 2px}
.pv-bar-tooltip-count {color: #93c5fd}
.pv-bar-label {position: absolute;bottom: -18px;left: 50%;transform: translateX(-50%);font-size: 9px;color: var(--color-text-light);white-space: nowrap}
.captain-dashboard__chart-summary {display: flex;justify-content: center;gap: 32px;margin-top: 16px;padding-top: 16px;border-top: 1px solid var(--color-border)}
.captain-dashboard__chart-stat {display: flex;flex-direction: column;align-items: center;gap: 4px}
.captain-dashboard__chart-stat-label {font-size: 12px;color: var(--color-text-muted)}
.captain-dashboard__chart-stat-value {font-size: 20px;font-weight: 700;color: var(--color-text-primary)}
.chart-no-data {color: var(--color-text-light);text-align: center;padding: 40px;font-size: 14px;background: var(--color-bg-muted);border-radius: 8px}
.captain-dashboard__grid {display: grid;grid-template-columns: 1fr;gap: 20px;margin-bottom: 20px}
.captain-dashboard__section {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);overflow: hidden}
.captain-dashboard__section-header {display: flex;align-items: center;justify-content: space-between;padding: 16px 20px;border-bottom: 1px solid var(--color-border-light)}
.captain-dashboard__section-header h2 {display: flex;align-items: center;gap: 8px;margin: 0;font-size: 16px;font-weight: 600;color: var(--color-text-primary)}
.captain-dashboard__section-header h2 i {color: var(--color-primary)}
.captain-dashboard__section-link {display: flex;align-items: center;gap: 4px;font-size: 13px;color: var(--color-primary);text-decoration: none}
.captain-dashboard__section-link:hover {text-decoration: underline}
.captain-dashboard__schedule-list {display: flex;flex-direction: column}
.captain-dashboard__schedule-item {display: flex;align-items: center;gap: 16px;padding: 14px 20px;text-decoration: none;border-bottom: 1px solid var(--color-bg-muted);transition: background 0.2s}
.captain-dashboard__schedule-item:last-child {border-bottom: none}
.captain-dashboard__schedule-item:hover {background: var(--color-bg-muted)}
.captain-dashboard__schedule-date {display: flex;flex-direction: column;align-items: center;min-width: 50px}
.captain-dashboard__schedule-date .day {font-size: 22px;font-weight: 700;color: var(--color-text-primary);line-height: 1}
.captain-dashboard__schedule-date .month {font-size: 11px;color: var(--color-text-muted)}
.captain-dashboard__schedule-date .weekday {font-size: 11px;color: var(--color-text-light)}
.captain-dashboard__schedule-info {flex: 1;display: flex;flex-direction: column;gap: 2px;min-width: 0}
.captain-dashboard__schedule-info .fish {font-size: 14px;font-weight: 600;color: var(--color-text-primary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.captain-dashboard__schedule-info .time {font-size: 12px;color: var(--color-text-muted)}
.captain-dashboard__schedule-status {display: flex;flex-direction: column;align-items: flex-end;gap: 4px}
.captain-dashboard__schedule-status .count {font-size: 14px;font-weight: 600;color: var(--color-text-primary)}
.captain-dashboard__schedule-status .pending-badge {font-size: 11px;padding: 2px 8px;background: #fef3c7;color: #b45309;border-radius: 10px}
.captain-dashboard__reservation-list {display: flex;flex-direction: column}
.captain-dashboard__reservation-item {display: flex;align-items: center;gap: 12px;padding: 14px 20px;text-decoration: none;border-bottom: 1px solid var(--color-bg-muted);transition: background 0.2s}
.captain-dashboard__reservation-item:last-child {border-bottom: none}
.captain-dashboard__reservation-item:hover {background: var(--color-bg-muted)}
.captain-dashboard__reservation-user {flex: 1;display: flex;flex-direction: column;gap: 2px;min-width: 0}
.captain-dashboard__reservation-user .name {font-size: 14px;font-weight: 600;color: var(--color-text-primary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.captain-dashboard__reservation-user .people {font-size: 12px;color: var(--color-text-muted)}
.captain-dashboard__reservation-schedule {font-size: 13px;color: var(--color-text-muted);text-align: right}
.captain-dashboard__reservation-status {font-size: 12px;padding: 4px 10px;border-radius: 12px;font-weight: 500}
.captain-dashboard__reservation-status.pending {background: #fef3c7;color: #b45309}
.captain-dashboard__reservation-status.confirmed {background: #d1fae5;color: #047857}
.captain-dashboard__reservation-status.completed {background: #e0e7ff;color: #4338ca}
.captain-dashboard__reservation-status.cancelled {background: var(--color-bg-secondary);color: var(--color-text-muted)}
.captain-dashboard__reservation-status.no_show {background: #fee2e2;color: #b91c1c}
.captain-dashboard__empty {display: flex;flex-direction: column;align-items: center;padding: 32px 20px;text-align: center}
.captain-dashboard__empty i {font-size: 32px;color: var(--color-text-light);margin-bottom: 12px}
.captain-dashboard__empty p {margin: 0;font-size: 14px;color: var(--color-text-muted)}
.captain-dashboard__ticket-info {background: white;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);overflow: hidden}
.captain-dashboard__ticket-header {display: flex;align-items: center;gap: 8px;padding: 14px 20px;background: var(--color-bg-muted);font-size: 14px;font-weight: 600;color: var(--color-text-primary)}
.captain-dashboard__ticket-header i {color: var(--color-warning)}
.captain-dashboard__ticket-content {padding: 16px 20px;display: flex;align-items: center;justify-content: space-between;gap: 12px;flex-wrap: wrap}
.captain-dashboard__ticket-status {font-size: 14px;color: var(--color-text-primary)}
.captain-dashboard__ticket-status.ok .expires-at {color: #059669}
.captain-dashboard__ticket-status.warning .expires-at {color: #d97706}
.captain-dashboard__ticket-status.expired .expires-at {color: var(--color-danger-dark)}
.captain-dashboard__ticket-status .days-remaining {color: var(--color-text-muted);font-size: 13px}
.captain-dashboard__ticket-btn {display: inline-flex;align-items: center;gap: 6px;padding: 10px 16px;background: var(--color-bg-secondary);color: #334155;border-radius: 8px;font-size: 13px;font-weight: 500;text-decoration: none;transition: all 0.2s}
.captain-dashboard__ticket-btn:hover {background: var(--color-border)}
@media (min-width: 768px) {.captain-dashboard {padding: 24px}
.captain-dashboard__stats {grid-template-columns: repeat(3, 1fr)}
.captain-dashboard__grid {grid-template-columns: repeat(2, 1fr)}}
@media (max-width: 480px) {.captain-dashboard__stat-card {gap: 10px;padding: 14px}
.captain-dashboard__stat-icon {width: 40px;height: 40px}
.captain-dashboard__stat-icon i {font-size: 16px}
.captain-dashboard__stat-value {font-size: 18px}
.captain-dashboard__ticket-content {flex-direction: column;align-items: flex-start}
.captain-dashboard__ticket-btn {width: 100%;justify-content: center}}