body { background: #f6f8fb; }
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 1rem; }
.auth-card { width: min(100%, 430px); }
.metric-card { border: 0; box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075); }
.metric-card span { color: #6c757d; display: block; font-size: .85rem; margin-bottom: .35rem; }
.metric-card strong { font-size: 1.25rem; }
.product-thumb { width: 36px; height: 36px; border-radius: .25rem; object-fit: cover; }

/* Operations dashboard */
.app-shell { background: #f4f7fb; color: #182230; min-height: 100vh; }
.app-navbar { background: #102a43; box-shadow: 0 2px 14px rgba(15, 42, 67, .12); }
.app-navbar .navbar-brand { font-weight: 700; letter-spacing: -.02em; }
.app-nav-link { color: rgba(255,255,255,.72); font-size: .9rem; text-decoration: none; padding: .5rem .65rem; border-radius: .45rem; }
.app-nav-link:hover, .app-nav-link.active { color: #fff; background: rgba(255,255,255,.13); }
.dashboard-hero { background: linear-gradient(118deg, #102a43, #1d4e6d); border-radius: 1.1rem; color: #fff; padding: 1.75rem; box-shadow: 0 14px 30px rgba(16,42,67,.16); }
.dashboard-hero .eyebrow { color: #a9d6e5; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-hero h1 { font-weight: 700; letter-spacing: -.035em; }
.dashboard-hero p { color: #d9e9f2; }
.quick-action { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); color: #fff; font-weight: 600; }
.quick-action:hover { background: #fff; color: #102a43; }
.metric-card { border: 0; border-radius: .9rem; box-shadow: 0 3px 14px rgba(15, 42, 67, .07); overflow: hidden; }
.metric-card .card-body { padding: 1.15rem; }
.metric-card span { font-size: .8rem; font-weight: 600; color: #627d98; text-transform: uppercase; letter-spacing: .04em; }
.metric-card strong { font-size: 1.45rem; color: #102a43; letter-spacing: -.03em; }
.metric-icon { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: .75rem; font-size: 1.2rem; }
.metric-blue { background:#e3f2fd; color:#1976d2; }.metric-green { background:#e5f7ed; color:#16804a; }.metric-amber { background:#fff4d6; color:#b7791f; }.metric-red { background:#feebee; color:#c53030; }.metric-purple { background:#f0e7ff; color:#6b46c1; }
.panel-card { border: 0; border-radius: .9rem; box-shadow: 0 3px 14px rgba(15,42,67,.07); }
.panel-card .card-header { background: transparent; border-bottom: 1px solid #e7eef5; font-weight: 700; padding: 1rem 1.15rem; }
.panel-card .card-body { padding: 1.15rem; }
.status-dot { width: .55rem; height: .55rem; display: inline-block; border-radius: 50%; margin-right: .45rem; }
.alert-row { padding: .72rem 0; border-bottom: 1px solid #edf2f7; }.alert-row:last-child { border-bottom: 0; padding-bottom: 0; }
.activity-icon { width: 2rem; height: 2rem; border-radius: 50%; background: #e9f2f8; color: #1d4e6d; display: grid; place-items: center; font-size: .8rem; font-weight: 700; flex: 0 0 auto; }
.dashboard-table td, .dashboard-table th { padding: .7rem .35rem; }
@media (max-width: 991.98px) { .app-nav-links { margin-top: .75rem; }.dashboard-hero { padding: 1.35rem; } }

/* Shared application surface: applies to every operational page. */
body, body.bg-light { background: #f4f7fb !important; color: #182230; }
body > .navbar.bg-primary, .navbar.bg-primary { background: #102a43 !important; box-shadow: 0 2px 14px rgba(15,42,67,.12); min-height: 4.25rem; }
.navbar.bg-primary .navbar-brand { font-weight: 700; letter-spacing: -.02em; }
main.container, main.container-fluid { padding-top: 2rem !important; padding-bottom: 2.5rem !important; }
h1, .h1, h2, .h2, h3, .h3 { color: #102a43; font-weight: 700; letter-spacing: -.025em; }
.card { border: 0; border-radius: .9rem; box-shadow: 0 3px 14px rgba(15,42,67,.07); overflow: hidden; }
.card-header { background: #fff; border-bottom: 1px solid #e7eef5; font-weight: 700; padding: 1rem 1.2rem; }
.card-body { padding: 1.2rem; }.card-footer { border-color: #e7eef5 !important; }
.table { --bs-table-bg: transparent; --bs-table-hover-bg: #f2f7fb; margin-bottom: 0; }
.table > :not(caption) > * > * { border-bottom-color: #e7eef5; padding: .78rem .75rem; }
.table thead th { color: #627d98; font-size: .76rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; }
.form-control, .form-select { border-color: #d5e0ea; border-radius: .55rem; min-height: 2.55rem; }
.form-control:focus, .form-select:focus { border-color: #4c90bd; box-shadow: 0 0 0 .2rem rgba(25,118,210,.13); }
.form-label { color: #334e68; font-size: .9rem; font-weight: 600; }.form-check-input:checked { background-color: #1976d2; border-color: #1976d2; }
.btn { border-radius: .55rem; font-weight: 600; padding: .48rem .85rem; }.btn-primary { background: #1976d2; border-color: #1976d2; }.btn-primary:hover { background: #125ea8; border-color: #125ea8; }
.btn-outline-primary { color: #1976d2; border-color: #9cc3e3; }.btn-outline-primary:hover { background: #1976d2; border-color: #1976d2; }
.alert { border: 0; border-radius: .7rem; box-shadow: 0 2px 8px rgba(15,42,67,.05); }.badge { border-radius: 999px; padding: .42em .68em; }
.list-group-item { border-color: #e7eef5; }.pagination { --bs-pagination-color: #1976d2; --bs-pagination-active-bg: #1976d2; --bs-pagination-active-border-color: #1976d2; }
#results { position: relative; z-index: 5; }.auth-card { border-radius: 1rem; }
@media (max-width: 575.98px) { main.container, main.container-fluid { padding-top: 1.25rem !important; }.btn-group { flex-wrap: wrap; }.table > :not(caption) > * > * { padding: .65rem .5rem; } }

.app-global-nav { background: #102a43; box-shadow: 0 2px 14px rgba(15,42,67,.12); color: #fff; }
.app-global-nav > .container { min-height: 4.3rem; display: flex; align-items: center; gap: 1.25rem; }
.app-global-brand { color: #fff; font-weight: 700; font-size: 1.08rem; letter-spacing: -.02em; text-decoration: none; white-space: nowrap; }.app-global-brand span { font-weight: 400; opacity: .72; }
.app-global-links { display: flex; flex: 1; align-items: center; gap: .12rem; overflow-x: auto; }.app-global-links a { color: rgba(255,255,255,.75); border-radius: .4rem; font-size: .84rem; padding: .42rem .5rem; text-decoration: none; white-space: nowrap; }.app-global-links a:hover { color:#fff; background: rgba(255,255,255,.12); }
.app-global-user { display: flex; align-items: center; gap: .7rem; white-space: nowrap; }.app-global-user span { text-align: right; font-size: .78rem; }.app-global-user strong, .app-global-user small { display: block; }.app-global-user small { opacity: .7; text-transform: capitalize; }.app-global-user button { border: 1px solid rgba(255,255,255,.55); border-radius: .45rem; background: transparent; color:#fff; font-size: .78rem; padding: .36rem .55rem; }
@media (max-width: 767.98px) { .app-global-nav > .container { align-items: flex-start; flex-wrap: wrap; gap: .7rem; padding-top: .7rem; padding-bottom: .7rem; }.app-global-links { order: 3; flex-basis: 100%; }.app-global-user { margin-left: auto; }.app-global-brand span { display: none; } }

/* Jirani product system */
:root{--j-ink:#090d22;--j-lime:#d5ff4f;--j-blue:#7657ff;--j-paper:#f7f7f2;--j-line:#dce1e5;--j-text:#151b30;--j-muted:#697188;--j-radius:18px}body,body.bg-light{background:radial-gradient(circle at 100% 0,#e5e3ff 0,transparent 26rem),var(--j-paper)!important;color:var(--j-text);font-family:Manrope,Arial,sans-serif;letter-spacing:-.012em}.app-global-nav,.navbar.bg-primary{background:rgba(9,13,34,.98)!important;border-bottom:1px solid #ffffff14;box-shadow:none}.app-global-nav>.container{min-height:4.6rem}.app-global-brand{font-weight:800;letter-spacing:-.045em}.app-global-links{gap:.25rem}.app-global-links a{font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;color:#b6bdd7}.app-global-links a:hover{background:#ffffff15;color:var(--j-lime)}.app-global-user button{border-color:#ffffff35;font-family:Manrope;font-weight:700}.app-global-user button:hover{background:var(--j-lime);border-color:var(--j-lime);color:var(--j-ink)}main.container,main.container-fluid{max-width:1280px;padding-top:2.6rem!important;padding-bottom:4rem!important}h1,.h1,h2,.h2,h3,.h3{color:var(--j-ink);font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.055em}.h3{font-size:clamp(1.8rem,3vw,2.35rem)}p.text-secondary,.text-secondary{color:var(--j-muted)!important}.card,.panel-card{background:#fff;border:1px solid #fff;border-radius:var(--j-radius);box-shadow:0 15px 40px rgba(21,27,48,.07)!important;overflow:hidden}.card-header,.panel-card .card-header{background:#fff;border-bottom:1px solid #eef0f2;padding:1.05rem 1.3rem;color:var(--j-ink);font-size:.9rem;letter-spacing:-.02em}.card-body,.panel-card .card-body{padding:1.3rem}.card-footer{background:#fff!important;border-top:1px solid #eef0f2!important;padding:1.1rem 1.3rem!important}.btn{font-family:Manrope,Arial,sans-serif;font-size:.82rem;letter-spacing:-.01em;font-weight:800;border-radius:999px;padding:.62rem 1rem;transition:transform .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--j-ink);border-color:var(--j-ink);color:var(--j-lime);box-shadow:0 7px 16px #090d2226}.btn-primary:hover,.btn-primary:focus{background:#222c58;border-color:#222c58;color:var(--j-lime)}.btn-outline-primary{border-color:#bec5ce;color:var(--j-ink);background:#fff}.btn-outline-primary:hover{background:var(--j-lime);border-color:var(--j-lime);color:var(--j-ink)}.btn-success{background:#167b68;border-color:#167b68}.btn-outline-secondary{border-color:#d2d7dc;color:#536070}.form-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:#4b556b}.form-control,.form-select{border:1px solid var(--j-line);background:#fbfcfc;border-radius:11px;min-height:2.8rem;padding:.65rem .8rem;font-size:.9rem;color:var(--j-ink)}.form-control:focus,.form-select:focus{border-color:var(--j-blue);background:#fff;box-shadow:0 0 0 4px #7657ff18}.form-text{color:var(--j-muted);font-size:.73rem}.table{font-size:.88rem}.table>:not(caption)>*>*{padding:.9rem .85rem;border-bottom-color:#edf0f2}.table thead th{font-family:DM Mono,monospace;font-size:.64rem;letter-spacing:.08em;color:#7a8496}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:#f8fbef;color:var(--j-ink)}.badge{font-family:DM Mono,monospace;font-size:.63rem;letter-spacing:.02em}.badge.text-bg-primary{background:var(--j-blue)!important}.badge.text-bg-success{background:#dff8c9!important;color:#19643a!important}.badge.text-bg-danger{background:#ffe0e5!important;color:#a43246!important}.alert{border-radius:14px;font-size:.86rem;font-weight:600}.alert-success{background:#e9fbd8;color:#236239}.alert-danger{background:#fff0f2;color:#a43246}.metric-card{position:relative;border:0!important;background:#fff}.metric-card:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--j-lime),var(--j-blue));opacity:.9}.metric-card .card-body{padding:1.35rem}.metric-card span{font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.07em;color:#6c7488}.metric-card strong{font-size:1.5rem;line-height:1.2;margin-top:.35rem}.dashboard-hero{background:linear-gradient(120deg,#090d22,#202d64);border-radius:24px;box-shadow:0 20px 50px #090d2230}.dashboard-hero .eyebrow{font-family:DM Mono,monospace}.quick-action{border-radius:999px}.list-group-item{border-color:#edf0f2}.list-group-item-action:hover{background:#f3fce1}.pagination{--bs-pagination-color:var(--j-ink);--bs-pagination-active-bg:var(--j-ink);--bs-pagination-active-border-color:var(--j-ink)}.modal-content{border:0;border-radius:20px;box-shadow:0 25px 70px #090d2250}.modal-header,.modal-footer{border-color:#edf0f2}.modal-title{font-weight:800;letter-spacing:-.04em}@media(max-width:767.98px){main.container,main.container-fluid{padding:1.6rem 1rem 3rem!important}.app-global-links{padding-bottom:.2rem}.app-global-links a{font-size:.68rem;padding:.4rem}.app-global-user span{display:none}.card-body,.panel-card .card-body{padding:1rem}.table{font-size:.8rem}}
