
/* =========================================================
   TOPAZ EMR · JACE ONLINE PREMIUM VISUAL SYSTEM
   Cosmetic only. No clinical/business logic.
   ========================================================= */

:root{
    --tz-navy:#071b2d;
    --tz-navy-2:#0b2740;
    --tz-teal:#0e8f82;
    --tz-gold:#c8a75a;
    --tz-gold-soft:#ead9ae;
    --tz-text:#18232c;
    --tz-muted:#647480;
    --tz-line:#d7e0e6;
    --tz-soft:#eef3f6;
    --tz-soft-2:#f7f8f6;
    --tz-white:#fff;
    --tz-shadow:0 20px 50px rgba(7,27,45,.075);
    --tz-shadow-hover:0 28px 64px rgba(7,27,45,.12);
}

/* Public / operational Topaz surfaces */
[class$="-page"],
[class*="-page "]{
    color:var(--tz-text);
}

.th-page,.td-page,.pa-page,.ua-page,.rp-page,.fp-page,.rpw-page,
.ts-page,.ti-page,.ep-page,.ar-page,.dc-page,.dr-page,.st-page,
.pd-page,.pc-page,.pr-page,.rs-page,.rr-page{
    background:
        radial-gradient(circle at 10% 0%,rgba(200,167,90,.065),transparent 30%),
        linear-gradient(180deg,#f4f7fa 0%,#edf2f5 100%)!important;
}

/* Page headings */
.th-hero h1,.td-head h1,.pa-head h1,.ua-head h1,.rp-head h1,
.fp-card h1,.rpw-card h1,.ps-head h1,
[class$="-head"] h1,
[class*="-head "] h1{
    color:var(--tz-navy)!important;
    font-weight:900!important;
    letter-spacing:-.045em!important;
}

[class$="-head"] p,
[class*="-head "] p{
    color:var(--tz-muted)!important;
}

/* Premium micro labels */
.th-kicker,.td-free,.pa-kicker,.ua-kicker,.rp-kicker,
[class$="-kicker"],[class*="-kicker "],
[class$="-badge"],[class*="-badge "]{
    display:inline-flex!important;
    align-items:center;
    gap:8px;
    color:var(--tz-navy)!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(200,167,90,.44)!important;
    border-radius:999px!important;
    padding:7px 11px!important;
    letter-spacing:.12em!important;
    font-weight:900!important;
}

/* Gold-accent premium cards */
.th-card,.th-feature,.td-kpi,.td-card,.pa-kpi,.pa-card,.pa-check,
.ua-kpi,.ua-card,.rp-kpi,.rp-note,.fp-card,.rpw-card,.ps-card,
[class$="-card"],[class*="-card "]{
    position:relative;
    border-color:rgba(7,27,45,.085)!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(249,251,251,.96))!important;
    box-shadow:var(--tz-shadow)!important;
}

.th-card:before,.th-feature:before,.td-card:before,.pa-card:before,.ua-card:before,
.ps-card:before,[class$="-card"]:before{
    content:"";
    position:absolute;
    top:0;
    left:22px;
    right:22px;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--tz-gold),transparent);
    opacity:.68;
    pointer-events:none;
}

.td-kpi,.pa-kpi,.ua-kpi,.rp-kpi,.td-card,.pa-card,.th-feature{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}

.td-kpi:hover,.pa-kpi:hover,.ua-kpi:hover,.rp-kpi:hover,
.td-card:hover,.pa-card:hover,.th-feature:hover{
    transform:translateY(-3px)!important;
    border-color:rgba(200,167,90,.38)!important;
    box-shadow:var(--tz-shadow-hover)!important;
}

/* Buttons */
.btn-primary,
input.btn-primary,
button.btn-primary{
    background:linear-gradient(180deg,var(--tz-navy-2),var(--tz-navy))!important;
    border-color:var(--tz-navy)!important;
    color:#fff!important;
    box-shadow:0 12px 25px rgba(7,27,45,.16)!important;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}

.btn-primary:hover,
input.btn-primary:hover,
button.btn-primary:hover{
    transform:translateY(-1px);
    border-color:var(--tz-gold)!important;
    box-shadow:0 16px 30px rgba(7,27,45,.21),0 0 0 1px rgba(200,167,90,.18)!important;
}

.btn-outline-primary,.btn-secondary,.btn-outline{
    border-color:rgba(7,27,45,.14)!important;
    background:#fff!important;
    color:var(--tz-navy)!important;
}

.btn-outline-primary:hover,.btn-secondary:hover,.btn-outline:hover{
    border-color:rgba(200,167,90,.55)!important;
}

/* Inputs */
input[type="text"],input[type="email"],input[type="password"],input[type="number"],
input[type="date"],input[type="time"],input[type="url"],textarea,select{
    border-color:#cfd9e0!important;
    background:rgba(255,255,255,.98)!important;
    color:var(--tz-navy)!important;
    box-shadow:inset 0 1px 2px rgba(7,27,45,.025);
    transition:border-color .15s ease,box-shadow .15s ease!important;
}

input:focus,textarea:focus,select:focus{
    outline:none!important;
    border-color:rgba(14,143,130,.72)!important;
    box-shadow:0 0 0 3px rgba(14,143,130,.10)!important;
}

/* Tables */
table{
    border-collapse:separate;
    border-spacing:0;
}
table th{
    color:#536673!important;
    font-size:10px!important;
    letter-spacing:.055em!important;
    text-transform:uppercase;
    font-weight:900!important;
}
table td,table th{
    border-bottom-color:#e3e9ed!important;
}
table tbody tr:hover{
    background:rgba(200,167,90,.035);
}

/* Clinical / secure workspace masters */
.tc-header,.to-header{
    background:
        linear-gradient(90deg,#061726 0%,#0a253d 62%,#0a3148 100%)!important;
    border-bottom:1px solid rgba(200,167,90,.35)!important;
    box-shadow:0 10px 28px rgba(7,27,45,.16);
}

.tc-nav,.to-nav{
    min-height:62px;
}

.tc-brand,.to-brand{
    display:inline-flex!important;
    align-items:center;
    gap:9px;
    font-weight:900!important;
    letter-spacing:.08em!important;
}

.tc-brand:before,.to-brand:before{
    content:"";
    display:block;
    width:32px;
    height:32px;
    flex:0 0 32px;
    background:url('/Assets/jaceonline_nw1.png') center/contain no-repeat;
    filter:drop-shadow(0 5px 12px rgba(0,0,0,.18));
}

.tc-brand span,.to-brand span{
    color:#7dd9ce!important;
}

.tc-links,.to-links{
    gap:7px!important;
}

.tc-links a,.to-links a,
.tc-links input,.to-links input{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 11px!important;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#e8f0f5!important;
    text-decoration:none;
    font-size:12px!important;
    font-weight:800!important;
}

.tc-links a:hover,.to-links a:hover{
    border-color:rgba(200,167,90,.6);
    background:rgba(255,255,255,.09);
}

.tc-user,.to-user{
    color:#b8c8d2!important;
}

.tc-clinical-banner{
    background:linear-gradient(90deg,#eef9f7,#f6f2e8,#eef9f7)!important;
    border-bottom-color:rgba(200,167,90,.28)!important;
    color:#315e58!important;
}

.to-banner{
    background:linear-gradient(90deg,#eef3f7,#f7f3e9,#eef3f7)!important;
    border-bottom-color:rgba(200,167,90,.24)!important;
    color:#425d72!important;
}

.tc-main,.to-main{
    background:
        radial-gradient(circle at 12% 0%,rgba(200,167,90,.05),transparent 30%),
        linear-gradient(180deg,#f6f8fa,#eef3f6)!important;
}

/* Clinical page content blocks */
.ps-card,
[class*="patient"] .card,
[class*="clinical"] .card,
[class*="enc"] .card,
[class*="med"] .card,
[class*="rx"] .card,
[class*="ord"] .card,
[class*="ref"] .card,
[class*="vit"] .card{
    box-shadow:0 16px 38px rgba(7,27,45,.06)!important;
}

/* Common clinical labels / banners */
[class$="-status"],[class*="-status "],
[class$="-pill"],[class*="-pill "]{
    border-radius:999px!important;
    font-weight:900!important;
}

/* Patient links */
.ps-name,
a[class*="name"]{
    color:var(--tz-navy)!important;
}
.ps-name:hover,
a[class*="name"]:hover{
    color:var(--tz-teal)!important;
}

/* Practice Admin */
.pa-check{
    border-left:3px solid rgba(200,167,90,.65)!important;
}

/* Login / access / recovery */
.tz-card,.ra-card,.fp-card,.rpw-card,
[class*="login"] .card{
    border-top:3px solid rgba(200,167,90,.62)!important;
}

/* Aggregate reporting */
.rp-kpi strong,.td-kpi strong,.pa-kpi strong,.ua-kpi strong{
    color:var(--tz-navy)!important;
}

/* JACE Platform Admin pages that manage Topaz */
.ja-card,.ja-panel,.admin-card{
    border-radius:20px!important;
    border-color:rgba(7,27,45,.09)!important;
    box-shadow:0 16px 40px rgba(7,27,45,.06)!important;
}

/* Mobile */
@media(max-width:760px){
    .tc-nav,.to-nav{
        padding:10px 14px!important;
        gap:10px!important;
    }
    .tc-brand:before,.to-brand:before{
        width:28px;height:28px;flex-basis:28px;
    }
    .tc-links,.to-links{
        margin-left:auto;
    }
    .tc-links .tc-essential,.to-links .to-essential{
        border-radius:10px!important;
    }
    [class$="-card"],[class*="-card "]{
        border-radius:18px!important;
    }
}

/* Print stays clinical/document-first */
@media print{
    .tc-header,.to-header,.tc-clinical-banner,.to-banner{display:none!important}
    .tc-main,.to-main{background:#fff!important}
}
