/*
 * ============================================================
 * HANNA Instruments — ot-create.css
 * Estilos específicos del formulario de nueva OT y página de éxito.
 * Requiere: styles.css
 *
 * Componentes:
 *   1. Dropzone (subida de archivos)
 *   2. File item con botón de eliminar (formulario)
 *   3. Resumen lateral (panel sticky)
 *   4. Número de OT destacado (página de éxito)
 *   5. Pasos numerados (página de éxito)
 *   6. Hero de confirmación (página de éxito)
 * ============================================================
 */


/* ── 1. Dropzone ──────────────────────────────────────────── */

.hi-dropzone {
    position: relative;
    border: 2px dashed var(--hi-border-input);
    border-radius: var(--hi-radius-lg);
    padding: 2rem 1.25rem;
    text-align: center;
    background-color: #fafbfc;
    cursor: pointer;
    transition:
        border-color var(--hi-transition),
        background-color var(--hi-transition);
}

.hi-dropzone:hover,
.hi-dropzone--active {
    border-color: var(--hi-blue);
    background-color: var(--hi-blue-light);
}

.hi-dropzone input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

.hi-dropzone__icon {
    display: block;
    font-size: 1.75rem;
    color: var(--hi-text-placeholder);
    margin-bottom: .5rem;
    transition: color var(--hi-transition);
}

.hi-dropzone:hover .hi-dropzone__icon { color: var(--hi-blue); }

.hi-dropzone__title {
    font-family: var(--hi-font-display);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--hi-text-secondary);
}

.hi-dropzone__cta {
    color: var(--hi-blue);
    text-decoration: underline;
    font-weight: 700;
}

.hi-dropzone__hint {
    font-size: .7rem;
    color: var(--hi-text-placeholder);
    margin-top: .3rem;
}


/* ── 2. File item con botón eliminar (formulario) ─────────── */

.hi-file-item {
    display: flex;
    align-items: center;
    gap: .625rem;
    padding: .5rem .75rem;
    background-color: var(--hi-bg);
    border: 1px solid var(--hi-border);
    border-radius: var(--hi-radius-md);
    margin-top: .5rem;
}

.hi-file-item__icon {
    font-size: 1.2rem;
    color: var(--hi-blue);
    flex-shrink: 0;
}

.hi-file-item__name {
    font-size: .8rem;
    font-weight: 600;
    color: var(--hi-text-primary);
}

.hi-file-item__size {
    font-size: .7rem;
    color: var(--hi-text-placeholder);
}

.hi-file-item__remove {
    margin-left: auto;
    background-color: transparent;
    border: none;
    color: var(--hi-text-placeholder);
    cursor: pointer;
    font-size: .8rem;
    padding: .15rem .3rem;
    border-radius: var(--hi-radius-sm);
    line-height: 1;
    transition:
        color var(--hi-transition),
        background-color var(--hi-transition);
}

.hi-file-item__remove:hover {
    color: var(--hi-danger-text);
    background-color: var(--hi-danger-bg);
}


/* ── 3. Resumen lateral ───────────────────────────────────── */

.hi-summary-row {
    display: flex;
    align-items: flex-start;
    gap: .625rem;
    padding: .625rem 0;
    border-bottom: 1px solid var(--hi-border-soft);
}

.hi-summary-row:last-child { border-bottom: none; }

.hi-summary-row__icon {
    width: 22px;
    height: 22px;
    background-color: var(--hi-bg);
    border-radius: var(--hi-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    flex-shrink: 0;
    color: var(--hi-text-muted);
}

.hi-summary-row__label {
    display: block;
    font-family: var(--hi-font-display);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--hi-text-placeholder);
    margin-bottom: .1rem;
}

.hi-summary-row__value {
    font-size: .8rem;
    font-weight: 600;
    color: var(--hi-text-primary);
}

/* Panel sticky — el posicionamiento se controla desde Blade
   con la utility Bootstrap position-sticky */
.hi-summary-panel {
    top: calc(var(--hi-navbar-height) + 1rem);
}


/* ── 4. Número de OT destacado (éxito) ───────────────────── */

.hi-ot-number {
    font-family: var(--hi-font-display);
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: .06em;
    color: var(--hi-blue);
    line-height: 1;
}

.hi-ot-number-section {
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--hi-border-soft);
    text-align: center;
}


/* ── 5. Pasos numerados (éxito) ───────────────────────────── */

.hi-step-list {
    display: flex;
    flex-direction: column;
    gap: .875rem;
}

.hi-step-item {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.hi-step-item__number {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--hi-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--hi-font-display);
    font-size: .65rem;
    font-weight: 800;
    color: #ffffff;
    flex-shrink: 0;
    margin-top: .1rem;
}

.hi-step-item__text {
    font-size: .875rem;
    color: var(--hi-text-secondary);
    line-height: 1.5;
}


/* ── 6. Hero de confirmación (éxito) ──────────────────────── */

.hi-success-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.5rem 0 1.5rem;
    text-align: center;
}

.hi-success-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-color: var(--hi-success-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--hi-success-text);
    margin-bottom: 1.25rem;
}
