/* CSS importado según referencia del usuario (Orígen-like) */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@font-face {
    font-family: "Gobold";
    src: url('/assets/fonts/gobold.ttf') format('truetype');
    font-weight: 400 900;
    font-style: normal;
}
@font-face {
    font-family: "Evogria";
    src: url('/assets/fonts/evogria.otf') format('opentype');
    font-weight: 400 900;
    font-style: normal;
}
*,:before,:after { box-sizing:border-box; }

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

*,:before,:after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

:before,:after {
    --tw-content: ""
}

html,:host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: Quicksand,system-ui,sans-serif;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1,h2,h3,h4,h5,h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

b,strong {
    font-weight: bolder
}

code,kbd,samp,pre {
    font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}
.table-custom { width:100%; border-collapse:collapse; }
.table-custom th, .table-custom td { border-bottom:1px solid rgba(255,255,255,0.08); padding:10px; text-align:left; }
.table-custom th { font-family:'Bebas Neue','Quicksand',sans-serif; letter-spacing:0.14em; text-transform:uppercase; font-size:12px; color:rgba(255,255,255,0.78); }
.table-custom tbody tr:nth-child(odd) { background: rgba(255,255,255,0.02); }

button,input,optgroup,select,textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,select {
    text-transform: none
}

button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre {
    margin: 0
}

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

ol,ul,menu {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af
}

input::placeholder,textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

button,[role=button] {
    cursor: pointer
}

:disabled {
    cursor: default
}

img,svg,video,canvas,audio,iframe,embed,object {
    display: block;
    vertical-align: middle
}

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

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

body {
    background: #05000a;
    color: #fffffff2;
    font-family: Quicksand,system-ui,sans-serif;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    min-height:100vh;
    position:relative;
}
body::before {
    content:"";
    position:fixed; inset:0;
    background:
      linear-gradient(180deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.78) 100%),
      linear-gradient(130deg, rgba(224,23,79,0.32), rgba(0,0,0,0.15), rgba(0,246,255,0.22)),
      url('/assets/img/bg-city.jpg') center center / cover no-repeat;
    z-index:-1;
}

html {
    scroll-behavior: smooth
}

h1,h2,h3,h4,h5,h6 {
    font-family: 'Bebas Neue', Evogria, system-ui, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase
}

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.08) transparent
}

*::-webkit-scrollbar {
    width: 4px;
    height: 4px
}

*::-webkit-scrollbar-track {
    background: transparent
}

*::-webkit-scrollbar-thumb {
    background: #ffffff14;
    border-radius: 4px
}

.md-callout {
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    font-family: Quicksand,system-ui,sans-serif;
    line-height: 1.6;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 10px 0
}

.md-callout:before {
    content: "!";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    font-family: Evogria,system-ui,sans-serif;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-top: 2px
}

.md-callout-content {
    flex: 1
}

.md-callout-content strong:first-child {
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 11px;
    font-family: Evogria,system-ui,sans-serif
}

.md-callout-info {
    background: #2563eb29;
    border: 1px solid rgba(59,130,246,.45);
    color: #d0e2ff
}

.md-callout-info:before {
    background: #2563ebe6;
    color: #fff
}

.md-callout-warning {
    background: #eab3082e;
    border: 1px solid rgba(234,179,8,.5);
    color: #fef9c3
}

.md-callout-warning:before {
    background: #eab308f2;
    color: #020617
}

.md-callout-danger {
    background: #f8717129;
    border: 1px solid rgba(248,113,113,.5);
    color: #fee2e2
}

.md-callout-danger:before {
    background: #f87171f2;
    color: #020617
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 7px;
    padding: 11px 22px;
    font-family: Evogria,sans-serif;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: var(--pd);
    border: 1px solid var(--pb);
    outline: 1px dashed var(--ph);
    outline-offset: 3px;
    color: var(--p);
    transition: opacity .2s,transform .15s;
    cursor: pointer;
    white-space: nowrap
}

.btn-primary:hover {
    opacity: .75;
    transform: translateY(-1px)
}

.btn-primary:active {
    transform: scale(.97)
}

.btn-primary:disabled {
    opacity: .3;
    cursor: not-allowed;
    transform: none
}

.btn-accent {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 7px;
    padding: 14px 32px;
    font-family: Evogria,sans-serif;
    font-size: 16px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: var(--pd);
    border: 1px solid var(--pb);
    outline: 1px dashed var(--ph);
    outline-offset: 3px;
    color: var(--p);
    transition: opacity .2s,transform .15s;
    cursor: pointer;
    white-space: nowrap
}

.btn-accent:hover {
    opacity: .75;
    transform: translateY(-1px)
}

.btn-accent:active {
    transform: scale(.97)
}

.btn-accent:disabled {
    opacity: .3;
    cursor: not-allowed;
    transform: none
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 7px;
    padding: 11px 22px;
    font-family: Evogria,sans-serif;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: var(--dd);
    border: 1px solid var(--db);
    outline: 1px dashed rgba(88,101,242,.2);
    outline-offset: 3px;
    color: #8a94f8;
    transition: opacity .2s,transform .15s;
    cursor: pointer;
    white-space: nowrap
}

.btn-secondary:hover {
    opacity: .75;
    transform: translateY(-1px)
}

.btn-secondary:active {
    transform: scale(.97)
}

.btn-secondary:disabled {
    opacity: .3;
    cursor: not-allowed;
    transform: none
}

.btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 7px;
    font-family: Quicksand,sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    background: var(--card);
    border: 1px solid var(--brd);
    outline: 1px dashed var(--dash);
    outline-offset: 2px;
    color: var(--m);
    transition: opacity .2s,transform .15s;
    cursor: pointer;
    white-space: nowrap
}

.btn-ghost:hover {
    opacity: .75;
    transform: translateY(-1px)
}
.btn,.btn-primary,.btn-secondary {
    font-family: 'Bebas Neue','Quicksand',sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.btn-danger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 7px;
    padding: 8px 16px;
    font-family: Evogria,sans-serif;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: #ef44441a;
    border: 1px solid rgba(239,68,68,.35);
    outline: 1px dashed rgba(239,68,68,.2);
    outline-offset: 2px;
    color: #fca5a5;
    transition: opacity .2s,transform .15s;
    cursor: pointer;
    white-space: nowrap
}

.btn-danger:hover {
    opacity: .75;
    transform: translateY(-1px)
}

.btn-nav {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 14px;
    border-radius: 6px;
    font-family: Evogria,sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: transparent;
    border: 1px solid var(--brd);
    outline: 1px dashed var(--dash);
    outline-offset: 2px;
    color: var(--m);
    transition: opacity .2s,transform .15s;
    cursor: pointer;
    white-space: nowrap
}

.btn-nav:hover {
    color: var(--t);
    border-color: #ffffff4d;
    outline-color: #fff3
}

.card {
    background: var(--card);
    border: 1px solid var(--brd);
    border-radius: 8px;
    outline: 1px dashed var(--dash);
    outline-offset: 3px;
    padding: 16px
}

.card-accent {
    background: var(--card);
    border: 1px solid var(--pb);
    border-radius: 8px;
    outline: 1px dashed var(--ph);
    outline-offset: 3px;
    padding: 16px
}

.input {
    width: 100%;
    background: #0006;
    border: 1px solid var(--brd);
    border-radius: 6px;
    color: var(--t);
    font-family: Quicksand,sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 12px;
    outline: none;
    transition: border-color .2s
}

.input:focus {
    border-color: #ffffff4d
}

.input::-moz-placeholder {
    color: var(--m);
    font-size: 11px
}

.input::placeholder {
    color: var(--m);
    font-size: 11px
}

.input-section-title {
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700
}

select.input {
    background-color: #000c;
    color: var(--t);
    border-color: var(--brd);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.25rem;
    background-image: linear-gradient(45deg,transparent 50%,var(--m) 50%),linear-gradient(135deg,var(--m) 50%,transparent 50%);
    background-position: calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);
    background-size: 6px 6px,6px 6px;
    background-repeat: no-repeat
}

select.input option {
    background-color: #05000a;
    color: var(--t)
}

.label {
    display: block;
    font-size: 8px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--m);
    font-weight: 700;
    margin-bottom: 5px;
    font-family: Quicksand,sans-serif
}

.badge-pending { display: inline-flex; padding: 2px 8px; border: 1px solid; border-radius: 100px; font-size: 8px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; font-family: Quicksand,sans-serif; background: #eab3081a; border-color: #eab30866; color: #f5c842 }
.badge-reviewing { display: inline-flex; padding: 2px 8px; border: 1px solid; border-radius: 100px; font-size: 8px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; font-family: Quicksand,sans-serif; background: #5865f21a; border-color: #5865f259; color: #8a94f8 }
.badge-accepted { display: inline-flex; padding: 2px 8px; border: 1px solid; border-radius: 100px; font-size: 8px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; font-family: Quicksand,sans-serif; background: var(--gd); border-color: var(--gb); color: var(--g) }
.badge-denied { display: inline-flex; padding: 2px 8px; border: 1px solid; border-radius: 100px; font-size: 8px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; font-family: Quicksand,sans-serif; background: var(--pd); border-color: var(--pb); color: var(--p) }

.spinner { width: 30px; height: 30px; border: 2px solid rgba(255,255,255,.07); border-top-color: var(--p); border-radius: 50%; animation: spin .7s linear infinite }

/* ... el resto del CSS del usuario ... */

/* --- Overrides para fijar el look de la referencia --- */
html, body { min-height:100vh; }
body {
    position:relative;
    background:
      linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.78) 100%),
      url('/assets/img/bg-city.jpg') center center / cover no-repeat fixed !important;
    color: #fffffff2;
    font-family: Quicksand,system-ui,sans-serif;
}
body::before{
    content:"";
    position:fixed; inset:0;
    background: linear-gradient(120deg, rgba(224,23,79,0.24), rgba(0,0,0,0.1), rgba(0,246,255,0.18));
    pointer-events:none;
    z-index:-1;
}
.container { width: min(1200px, 96%); margin: 26px auto; }
.card { background: rgba(0,0,0,0.28); border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 12px 45px -28px rgba(0,0,0,.9); backdrop-filter: blur(4px); }
.input, textarea, select { background: rgba(0,0,0,0.32); border: 1px solid rgba(255,255,255,0.14); border-radius: 6px; }
.label { color: rgba(255,255,255,0.65); letter-spacing: 0.18em; font-size: 10px; }
.btn { background: #ff0055; border-color: #ff0055; color: #0b0b11; padding:10px 16px; }
.btn.secondary { background: transparent; border-color: rgba(255,255,255,0.25); color: #fff; padding:10px 16px; }
.pill { background: rgba(0,0,0,0.35); border-color: rgba(255,255,255,0.08); color: rgba(255,255,255,0.7); }
.progress { background: rgba(255,255,255,0.08); }
.progress span { background: linear-gradient(90deg, #ff0055, #00f6ff); }
.hero-title { font-family: Evogria,system-ui,sans-serif; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; }
.muted { color: rgba(255,255,255,0.7); }
nav { background: rgba(0,0,0,0.65); border-bottom: 1px solid rgba(255,255,255,0.05); }
nav a { color: #fff; letter-spacing: 0.18em; font-family: Evogria, sans-serif; text-transform: uppercase; }
nav a:hover { color: #ff0055; }
.brand-title { font-family: 'Gobold', 'Bebas Neue', Evogria, sans-serif; letter-spacing:0.28em; font-size:18px; text-transform: uppercase; }
.nav-link { padding:6px 10px; border-radius:6px; border:1px solid transparent; }
.nav-link:hover { border-color:rgba(255,255,255,0.2); background:rgba(0,0,0,0.25); }
