/* ===========================================================================
   AIRA — Loom & Selvedge  ·  shared design tokens + components
   Place at: assets/aira.css   (linked by every Nari Shakthi page)
   =========================================================================== */

:root{
    /* Colour tokens */
    --oat:#E7DEC9; --undyed:#F1EADA; --ink:#2A2722; --stone:#9C968A;
    --madder:#A33A33; --madder-deep:#7E2A26;
    --indigo:#2C3E63; --indigo-deep:#1E2A45;
    --gold:#B89A4E; --line:#CDBE9F;
}

body{ background:var(--oat); color:var(--ink); font-family:'Spectral',Georgia,serif; }
h1,h2{ font-weight:600; color:var(--indigo); }
a{ color:var(--indigo); }

.eyebrow{ font-family:'IBM Plex Mono',monospace; letter-spacing:.18em;
          text-transform:uppercase; font-size:.7rem; color:var(--stone); }

.auth-card{ background:var(--undyed); border:1px solid var(--line); border-radius:8px; }

/* Gold appears ONLY as a hairline, never as a fill (AIRA discipline). */
.gold-rule{ height:2px; border:0; opacity:.9;
            background:linear-gradient(90deg,transparent,var(--gold),transparent); }

.form-label{ font-family:'IBM Plex Mono',monospace; font-size:.7rem;
             letter-spacing:.06em; text-transform:uppercase; color:var(--stone); }
.form-control,.form-select{ background:#fff; border:1px solid var(--line); color:var(--ink); }
.form-control:focus,.form-select:focus{ border-color:var(--indigo); box-shadow:0 0 0 .2rem rgba(44,62,99,.15); }
.form-text{ color:var(--stone); }

/* Madder is the only filled action colour. */
.btn-madder{ background:var(--madder); color:#fff; border:0;
             font-family:'IBM Plex Mono',monospace; letter-spacing:.06em;
             text-transform:uppercase; font-size:.8rem; padding:.6rem 1rem; }
.btn-madder:hover{ background:var(--madder-deep); color:#fff; }

.code-chip{ font-family:'IBM Plex Mono',monospace; background:var(--oat);
            border:1px solid var(--line); border-radius:6px;
            padding:.45rem .7rem; display:inline-block; letter-spacing:.05em; }

/* Brand lockup */
.brand-logo{ width:96px; height:96px; object-fit:cover; border-radius:10px;
             border:1px solid var(--line); box-shadow:0 2px 10px rgba(42,39,34,.12); }
.brand-by{ color:var(--indigo); }

/* Top navigation */
.aira-navbar{ background:var(--undyed); border-bottom:1px solid var(--line); }
.aira-navbar .brand-logo-sm{ width:36px; height:36px; object-fit:cover;
                             border-radius:6px; border:1px solid var(--line); }
.aira-navbar .nav-name{ font-family:'IBM Plex Mono',monospace; letter-spacing:.16em;
                        text-transform:uppercase; font-size:.78rem; color:var(--ink); }

/* Welcome banner — indigo is the emphasis colour (matches the spec-sheet header) */
.welcome-banner{ background:var(--indigo); color:#fff; border-radius:10px; padding:1.5rem 1.75rem; }
.welcome-banner .eyebrow{ color:rgba(255,255,255,.7); }
.welcome-banner h1{ color:#fff; }
.welcome-banner .coupon{ font-family:'IBM Plex Mono',monospace;
                         background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3);
                         border-radius:6px; padding:.45rem .75rem; display:inline-block;
                         letter-spacing:.08em; font-size:1.05rem; }

/* Stat tiles */
.stat-tile{ background:var(--undyed); border:1px solid var(--line); border-radius:8px;
            padding:1rem 1.1rem; height:100%; }
.stat-tile .stat-label{ font-family:'IBM Plex Mono',monospace; font-size:.62rem;
                        letter-spacing:.08em; text-transform:uppercase; color:var(--stone); }
.stat-tile .stat-value{ font-family:'IBM Plex Mono',monospace; font-size:1.25rem;
                        color:var(--ink); margin-top:.3rem; }
.stat-tile .stat-value.indigo{ color:var(--indigo); }
.stat-tile .stat-value.madder{ color:var(--madder); }

/* Data table */
.aira-table{ background:var(--undyed); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.aira-table table{ margin:0; }
.aira-table thead th{ font-family:'IBM Plex Mono',monospace; font-size:.66rem;
                      letter-spacing:.06em; text-transform:uppercase; color:var(--stone);
                      background:var(--oat); border-bottom:1px solid var(--line); }
.aira-table td{ color:var(--ink); vertical-align:middle; border-color:var(--line); }
.aira-table tbody tr:last-child td{ border-bottom:0; }
.aira-table .mono{ font-family:'IBM Plex Mono',monospace; font-size:.85rem; }

/* Status pills */
.pill{ font-family:'IBM Plex Mono',monospace; font-size:.64rem; letter-spacing:.06em;
       text-transform:uppercase; padding:.2rem .5rem; border-radius:999px; border:1px solid var(--line); }
.pill-paid{ background:rgba(44,62,99,.1); color:var(--indigo); border-color:rgba(44,62,99,.3); }
.pill-pending{ background:rgba(163,58,51,.08); color:var(--madder); border-color:rgba(163,58,51,.3); }
