*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --bg:#0f172a;
    --surface:#1e293b;
    --surface-2:#334155;
    --text:#e2e8f0;
    --text-muted:#94a3b8;
    --accent:#f7931a;
    --accent-hover:#e67e22;
    --success:#34d399;
    --error:#ef4444;
    --border:#334155;
    --radius:12px;
}
html{font-size:16px}
body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    background:var(--bg);color:var(--text);
    min-height:100vh;line-height:1.6;
}
a{color:var(--accent)}
a:hover{color:var(--accent-hover)}

/* Nav */
.nav{
    display:flex;align-items:center;gap:1rem;
    padding:1rem 2rem;border-bottom:1px solid var(--border);
    background:var(--surface);
}
.nav-brand{
    font-size:1.3rem;font-weight:700;color:var(--accent);
    text-decoration:none;
}
.nav-tagline{font-size:0.85rem;color:var(--text-muted)}

/* Container */
.container{max-width:700px;margin:0 auto;padding:2rem 1rem}

/* Card */
.card{
    background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);padding:2rem;margin-bottom:1.5rem;
}

/* Typography */
h1{font-size:1.65rem;font-weight:700;margin-bottom:0.5rem}
.subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:0.95rem}

/* Forms */
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-weight:600;margin-bottom:0.4rem;font-size:0.9rem}
.hint{display:block;font-size:0.8rem;color:var(--text-muted);margin-top:0.25rem}

.file-input{
    display:block;width:100%;
    background:var(--bg);border:1px solid var(--border);
    border-radius:8px;padding:0.75rem;color:var(--text);
    font-size:0.9rem;cursor:pointer;
}
.file-input::file-selector-button{
    background:var(--surface-2);color:var(--text);
    border:none;border-radius:6px;padding:0.4rem 0.8rem;
    margin-right:0.75rem;cursor:pointer;font-weight:500;
}

.price-input-wrap{position:relative;display:flex;align-items:center}
.currency-sign{
    position:absolute;left:1rem;font-weight:600;
    font-size:1.1rem;color:var(--text-muted);
}
.price-input{
    width:100%;background:var(--bg);border:1px solid var(--border);
    border-radius:8px;padding:0.75rem 0.75rem 0.75rem 2.5rem;
    font-size:1.1rem;font-weight:600;color:var(--text);
}
.price-input:focus{outline:2px solid var(--accent);border-color:transparent}

/* Buttons */
.btn{
    display:inline-flex;align-items:center;gap:0.4rem;
    padding:0.6rem 1.2rem;border-radius:8px;font-weight:600;
    font-size:0.9rem;border:none;cursor:pointer;
    text-decoration:none;transition:all 0.15s;
}
.btn-primary{background:var(--accent);color:#111827}
.btn-primary:hover{background:var(--accent-hover)}
.btn-secondary{background:var(--surface-2);color:var(--text)}
.btn-secondary:hover{background:#475569}
.btn-lg{padding:0.85rem 2rem;font-size:1rem;width:100%;justify-content:center}

/* Alerts */
.alert{
    padding:0.75rem 1rem;border-radius:8px;margin-bottom:1rem;
    font-size:0.9rem;
}
.alert-error{background:#450a0a;border:1px solid var(--error);color:#fca5a5}

/* How it works */
.how-it-works{
    margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);
}
.how-it-works h3{font-size:1rem;margin-bottom:0.75rem;color:var(--text-muted)}
.how-it-works ol{margin-left:1.25rem}
.how-it-works li{margin-bottom:0.4rem;font-size:0.9rem;color:var(--text-muted)}

/* Footer */
.footer{
    text-align:center;padding:1.5rem;color:var(--text-muted);
    font-size:0.8rem;border-top:1px solid var(--border);
    line-height:1.8;
}
.footer-brand{color:var(--accent);font-weight:600}
.footer-abn{color:#6b7280;font-size:0.75rem}

/* Responsive */
@media(max-width:480px){
    .nav{padding:0.75rem 1rem}
    .container{padding:1rem 0.5rem}
    .card{padding:1.25rem}
    h1{font-size:1.35rem}
}
