/* FINCORYA base layer: reset, typography defaults and shared primitives. */
:root{--emerald:#006b4f;--deep:#013b36;--gold:#c9a227;--ivory:#f7f8f5;--graphite:#18201f;--muted:#5d6966;--line:#dce3df;--white:#fff;--danger:#b42318;--warning:#8a5b00;--shadow:0 12px 40px rgba(1,59,54,.08);--radius:14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--graphite);background:var(--ivory);font-size:16px;line-height:1.55}
*{box-sizing:border-box}
body{margin:0;min-width:320px}
a{color:var(--emerald);text-underline-offset:.15em}
.skip-link{position:fixed;top:-60px;left:1rem;z-index:100;background:var(--deep);color:#fff;padding:.75rem 1rem;border-radius:8px}
.skip-link:focus{top:1rem}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
.eyebrow{margin:0 0 .35rem;color:var(--emerald);font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.muted{color:var(--muted)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.12}
h2{font-size:1.5rem;line-height:1.25}
.auth-card{width:min(100%,480px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow)}
.auth-card h2{margin-bottom:.45rem}
.form-stack{display:grid;gap:1.2rem;margin:1.75rem 0}
.field{display:grid;gap:.45rem}
.field label{font-size:.9rem;font-weight:700}
.field input{width:100%;min-height:48px;border:1px solid #bac7c2;border-radius:10px;padding:.75rem .9rem;color:var(--graphite);background:#fff;transition:border-color .2s,box-shadow .2s}
.field input:hover{border-color:#79948a}
.field input:focus{outline:none;border-color:var(--emerald);box-shadow:0 0 0 3px rgba(201,162,39,.28)}
.field-error{color:var(--danger);font-size:.85rem}
.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.05rem;border:1px solid transparent;border-radius:10px;font-weight:750;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.button:focus-visible,.icon-button:focus-visible,.text-link:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.button-primary{background:var(--emerald);color:#fff}
.button-primary:hover{background:#00543e}
.button-secondary{border-color:#b9c8c2;background:var(--ivory);color:var(--deep)}
.button-secondary:hover{background:#e9efeb}
.auth-help{margin:1.5rem 0 0;color:var(--muted);font-size:.85rem;text-align:center}
.text-link{display:inline-block;color:var(--emerald);font-weight:700}
.alert{padding:.85rem 1rem;border-radius:10px;font-size:.9rem}
.alert-error{background:#fff1f0;border:1px solid #f1b7b2;color:#8f1f17}
.alert-warning{background:#fff8df;border:1px solid #ead17a;color:#674700}
.alert-success{background:#e8f5ef;border:1px solid #a9d8c3;color:#0b5c40}
.alert-info{background:#eaf2fb;border:1px solid #b9d1ef;color:#1e3f6d}
.qr-wrap{display:grid;place-items:center;margin:1.25rem auto;width:216px;height:216px;border:1px solid var(--line);border-radius:14px;background:#fff}
.qr-wrap img{display:block}
.secret-code,.recovery-grid li{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em}
.secret-code{overflow-wrap:anywhere;padding:.7rem;background:#edf2ef;border-radius:8px}
.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:0;list-style:none;margin:1.25rem 0}
.recovery-grid li{padding:.65rem;background:#edf2ef;border-radius:8px;text-align:center;font-size:.9rem}
.avatar{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:50%;background:#fff;color:var(--deep);font-weight:800}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px rgba(1,59,54,.04);overflow:hidden}
.panel-heading{padding:1.25rem 1.4rem;border-bottom:1px solid var(--line)}
.panel-heading h2{margin:0}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:1rem 1.4rem;text-align:left;border-bottom:1px solid #edf1ef}
th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.money{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}
.empty-state h3{color:var(--graphite)}
.mobile-only{display:none}
.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}
@media(max-width:820px){
.mobile-only{display:inline-grid;place-items:center}
}
@media(max-width:480px){
.auth-card{padding:1.35rem}
.recovery-grid{grid-template-columns:1fr}
.button{width:100%}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
