:root{--bg:#06111f;--panel:#0b1829;--panel2:#0f2238;--line:#1b3654;--text:#eef7ff;--muted:#8aa5bd;--cyan:#19d7e6;--blue:#1267ff;--danger:#ff647c;--good:#2ee59d}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at 20% 10%,#15314d,transparent 35%),linear-gradient(135deg,#03080f,#071c30 55%,#02070d);color:var(--text);min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px 7%;border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;font-weight:800;font-size:22px}.logo-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--cyan),var(--blue));font-weight:900;box-shadow:0 0 30px rgba(25,215,230,.35)}nav{display:flex;gap:20px;align-items:center}nav a{color:var(--muted);text-decoration:none}.container{max-width:1120px;margin:0 auto;padding:54px 22px}.hero{text-align:center;padding:70px 0}.hero h1{font-size:54px;line-height:1.05;margin:0 0 18px}.hero p{font-size:20px;color:var(--muted);max-width:700px;margin:0 auto 32px}.btn,button{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:white;text-decoration:none;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(18,103,255,.25)}.btn.small{padding:9px 14px}.btn.secondary{background:#10243b;border:1px solid var(--line);box-shadow:none}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card,.box{background:linear-gradient(180deg,rgba(15,34,56,.92),rgba(8,18,31,.92));border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.muted{color:var(--muted)}input,textarea,select{width:100%;padding:14px;margin:9px 0 16px;border-radius:12px;border:1px solid var(--line);background:#06111f;color:var(--text)}label{color:#c8d9e8;font-weight:700}.alert{padding:15px;border-radius:14px;background:#10243b;border:1px solid var(--line);margin:15px 0}.error{border-color:var(--danger);color:#ffd7de}.success{border-color:var(--good)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);color:#dfefff}th{color:var(--muted)}.credits{font-size:34px;font-weight:900}.tabs{display:flex;gap:12px;margin:15px 0}.tab{flex:1}.transcript{white-space:pre-wrap;line-height:1.65;max-height:560px;overflow:auto}.footer{text-align:center;color:var(--muted);padding:35px}.price{font-size:42px;font-weight:900}.logo-preview{font-size:64px;font-weight:900;display:flex;align-items:center;gap:18px;justify-content:center}.logo-preview .logo-mark{width:72px;height:72px;border-radius:20px}@media(max-width:800px){.grid,.two{grid-template-columns:1fr}.hero h1{font-size:38px}.topbar{padding:18px;flex-direction:column;gap:16px}}
.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 42px;
    min-height: 72px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    background: rgba(4, 15, 30, 0.92);
}

.brand {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.brand-logo {
    height: 84px;
    width: auto;
    display: block;
}

.topbar nav {
    display: flex;
    align-items: center;
    gap: 18px;
}

.topbar nav a {
    color: #dce7f5;
    text-decoration: none;
    font-size: 15px;
    transition: opacity 0.2s ease;
}

.topbar nav a:hover {
    opacity: 0.8;
}

.credits-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #19d2ff, #1877ff);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.btn.small {
    padding: 10px 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, #19d2ff, #1877ff);
    color: #fff !important;
    font-weight: 600;
}
.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 42px;
    min-height: 72px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    background: rgba(4, 15, 30, 0.92);
}

.hero-logo-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-bottom: 30px;
}

.hero-logo {
    width: 240px;
    height: auto;
    display: block;
    margin: 0;
}

.hero-logo-text {
    font-size: 64px;
    font-weight: 800;
    letter-spacing: -2px;
    line-height: 1;
}

.hero-logo-text .muted {
    color: #8fa6bd;
}

/* ================================
   Responsive / Mobile Fixes
================================ */

* {
    box-sizing: border-box;
}

html, body {
    width: 100%;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* Top navigation */
.topbar {
    width: 100%;
    gap: 20px;
}

.topbar nav {
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Forms */
input,
textarea,
select,
button,
.btn {
    max-width: 100%;
}

/* Cards / boxes */
.box,
.card {
    max-width: 100%;
    overflow-wrap: break-word;
}

/* Transcript text */
.transcript {
    white-space: pre-wrap;
    word-break: break-word;
    overflow-x: auto;
}

/* Hero logo row */
.hero-logo-row {
    max-width: 100%;
}

/* Tablet */
@media (max-width: 900px) {

    .topbar {
        padding: 10px 22px;
    }

    .brand-logo {
        height: 48px;
    }

    .topbar nav {
        gap: 12px;
    }

    .hero-logo-row {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    .hero-logo {
        width: 220px;
    }

    .hero-logo-text {
        font-size: 48px;
        margin-left: 0;
        text-align: center;
    }

    .container {
        padding-left: 18px;
        padding-right: 18px;
    }
}

/* Mobile */
@media (max-width: 640px) {

    body {
        margin: 0;
    }

    .topbar {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 10px 16px 14px;
        min-height: auto;
        gap: 8px;
        text-align: center;
    }

    .brand {
        justify-content: center;
    }

    .brand-logo {
        height: 54px;
    }

    .topbar nav {
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 10px;
        flex-wrap: wrap;
    }

    .topbar nav a {
        font-size: 14px;
    }

    .btn.small {
        padding: 8px 14px;
        border-radius: 10px;
    }

    .container {
        padding: 18px 14px;
    }

    h1 {
        font-size: 34px;
        line-height: 1.1;
    }

    h2 {
        font-size: 26px;
        line-height: 1.15;
    }

    p {
        font-size: 15px;
        line-height: 1.5;
    }

    .hero-logo-row {
        flex-direction: column;
        gap: 4px;
        margin-bottom: 22px;
    }

    .hero-logo {
        width: 210px;
    }

    .hero-logo-text {
        font-size: 38px;
        letter-spacing: -1px;
        margin-left: 0;
        text-align: center;
    }

    .box {
        padding: 20px;
        border-radius: 18px;
    }

    .card {
        padding: 18px;
        border-radius: 16px;
    }

    input,
    textarea,
    select {
        width: 100%;
        font-size: 16px;
    }

    button,
    .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
        margin-top: 8px;
    }

    form button {
        width: 100%;
    }

    table {
        width: 100%;
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .transcript {
        font-size: 15px;
        line-height: 1.65;
        padding: 16px;
    }
}

/* Small phones */
@media (max-width: 420px) {

    .brand-logo {
        height: 48px;
    }

    .hero-logo {
        width: 180px;
    }

    .hero-logo-text {
        font-size: 32px;
    }

    h1 {
        font-size: 30px;
    }

    .topbar nav {
        gap: 8px;
    }

    .topbar nav a {
        font-size: 13px;
    }
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 26px;
}

.pricing-card {
    text-align: center;
}

.price {
    font-size: 42px;
    font-weight: 800;
    margin: 14px 0;
}

@media (max-width: 800px) {
    .pricing-grid {
        grid-template-columns: 1fr;
    }
}

.status {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    background: rgba(255,255,255,0.08);
}

.status-complete {
    color: #4ade80;
}

.status-processing,
.status-queued {
    color: #38bdf8;
}

.status-failed {
    color: #fb7185;
}

.action-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:8px;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.04);
    cursor:pointer;
    font-size:16px;
    margin-right:6px;
    transition:.2s;
}

.action-btn:hover {
    transform:translateY(-1px);
    background:rgba(255,255,255,.08);
}

.view-btn {
    color:#7dd3fc;
}

.delete-btn {
    color:#f87171;
}

.icon-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    border:none;
    border-radius:10px;

    background:linear-gradient(
        135deg,
        #29d6ff 0%,
        #1d6fff 100%
    );

    color:white;
    text-decoration:none;

    margin-left:6px;
    cursor:pointer;

    transition:all .2s ease;
}

.icon-btn:hover {
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,140,255,.35);
}

.actions-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.actions-cell form {
    margin: 0;
    display: inline-flex;
}

.icon-btn,
a.icon-btn,
button.icon-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 10px !important;

    background: rgba(255,255,255,.06) !important;
    color: #9fd8ff !important;

    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
}

.icon-btn svg {
    width: 18px;
    height: 18px;
    display: block;
}

.icon-btn:hover {
    background: rgba(41,214,255,.16) !important;
    color: #ffffff !important;
}

.icon-btn.danger {
    color: #ff8a8a !important;
}

.icon-btn.danger:hover {
    background: rgba(255,80,80,.16) !important;
    color: #ffffff !important;
}

.drop-zone {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;

    min-height:190px;
    padding:28px;

    border:2px dashed rgba(120,190,255,.35);
    border-radius:18px;

    background:rgba(255,255,255,.035);
    cursor:pointer;
    text-align:center;

    transition:all .2s ease;
}

.drop-zone:hover,
.drop-zone.drag-over {
    border-color:#29d6ff;
    background:rgba(41,214,255,.08);
    transform:translateY(-1px);
}

.drop-icon {
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:16px;
    background:linear-gradient(135deg,#29d6ff,#1d6fff);
    color:white;

    font-size:28px;
    font-weight:800;
}

.file-name {
    margin-top:6px;
    color:#ffffff;
    font-weight:700;
    word-break:break-word;
}

.upload-progress-wrap {
    margin-top:18px;
}

.upload-progress-bar {
    width:100%;
    height:10px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.10);
}

#uploadProgressBar {
    width:0%;
    height:100%;
    border-radius:999px;
    background:linear-gradient(135deg,#29d6ff,#1d6fff);
    transition:width .2s ease;
}