*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--sf-bg:#0a0a12;--sf-bg-card:#14141f;--sf-bg-card-hover:#1a1a28;--sf-text:#f0f0f5;--sf-text-muted:#8888a0;--sf-accent:#ffd54f;--sf-accent-glow:rgba(255,213,79,.25);--sf-success:#66bb6a;--sf-danger:#ef5350;--sf-border:hsla(0,0%,100%,.08);--sf-radius:16px;--sf-radius-sm:10px;--sf-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}body,html{background:var(--sf-bg);color:var(--sf-text);font-family:var(--sf-font);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}button,input{font-family:inherit}.page{margin:0 auto;max-width:480px;min-height:100vh;padding:16px 16px 100px}.page-title{font-size:24px;font-weight:700;margin-bottom:20px}.card{background:var(--sf-bg-card);border:1px solid var(--sf-border);border-radius:var(--sf-radius);padding:16px}.card+.card{margin-top:12px}.btn{align-items:center;border-radius:var(--sf-radius-sm);display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:transform .15s,opacity .15s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#ffd54f,#ffb300);color:#1a1a00}.btn-secondary{background:var(--sf-bg-card-hover);border:1px solid var(--sf-border);color:var(--sf-text)}.btn-danger{background:var(--sf-danger);color:#fff}.btn-block{width:100%}.btn-sm{font-size:14px;padding:8px 16px}.text-muted{color:var(--sf-text-muted);font-size:14px}.stars{color:var(--sf-accent);font-weight:700}.progress-bar{background:#ffffff14;border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.progress-bar__fill{background:linear-gradient(90deg,#ffd54f,#ffb300);border-radius:4px;height:100%;transition:width .3s ease}.empty-state{color:var(--sf-text-muted);padding:40px 20px;text-align:center}.form-group{margin-bottom:16px}.form-label{color:var(--sf-text-muted);display:block;font-size:14px;margin-bottom:6px}.form-input{background:var(--sf-bg);border:1px solid var(--sf-border);border-radius:var(--sf-radius-sm);color:var(--sf-text);font-size:16px;padding:12px 16px;width:100%}.form-input:focus{border-color:var(--sf-accent);outline:none}.badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.badge-pending{background:#ffd54f26;color:var(--sf-accent)}.badge-approved{background:#66bb6a26;color:var(--sf-success)}.badge-rejected{background:#ef535026;color:var(--sf-danger)}
