:root{
    --koza-navy:#063b56;
    --koza-navy-deep:#032f49;
    --koza-blue:#0d5c7a;
    --koza-blue-2:#176d89;
    --koza-teal:#18a8a8;
    --koza-teal-dark:#108f91;
    --koza-bg:#f2f6f8;
    --koza-card:#ffffff;
    --koza-text:#183842;
    --koza-muted:#70858c;
    --koza-line:#d9e5e9;
    --koza-soft:#edf5f8;
    --koza-teal-soft:#ecf8f7;
    --koza-danger:#a83232;
    --koza-shadow:0 14px 36px rgba(5,48,70,.08);
}
*{box-sizing:border-box}
html{background:var(--koza-bg);overscroll-behavior-y:none}
body.koza-app-body{
    margin:0;background:var(--koza-bg);color:var(--koza-text);
    font-family:Arial,Helvetica,sans-serif;
    min-height:100vh;padding-bottom:calc(88px + env(safe-area-inset-bottom));
    -webkit-font-smoothing:antialiased;
}
a{text-decoration:none}
button,input,select,textarea{font:inherit}
.app-safe-top{height:env(safe-area-inset-top);background:#fff}
.app-topbar{
    position:sticky;top:0;z-index:1020;background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(220,232,234,.9);backdrop-filter:blur(14px);
}
.app-topbar-inner{
    width:min(100%,760px);height:68px;margin:0 auto;padding:0 16px;
    display:grid;grid-template-columns:48px 1fr 48px;align-items:center;
}
.app-topbar-side{min-width:48px}
.app-brand{display:flex;align-items:center;justify-content:center}
.app-brand img{display:block;width:auto;height:42px;max-width:178px}
.app-icon-button{
    width:42px;height:42px;padding:0;border:1px solid var(--koza-line);border-radius:14px;
    background:#fff;color:var(--koza-navy);display:inline-flex;align-items:center;justify-content:center;
}
.app-icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.app-main{width:min(100%,760px);margin:0 auto;padding:18px 16px 30px}
.app-hero{
    border-radius:28px;padding:26px 22px;margin-bottom:18px;color:#fff;
    background:linear-gradient(145deg,var(--koza-navy) 0%,#07516b 58%,var(--koza-teal-dark) 100%);
    box-shadow:0 18px 40px rgba(6,59,86,.17);overflow:hidden;position:relative;
}
.app-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-82px;top:-80px;background:rgba(255,255,255,.08)}
.app-hero:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:48px;bottom:-70px;background:rgba(255,255,255,.06)}
.app-hero>*{position:relative;z-index:1}
.app-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;opacity:.76;margin-bottom:8px}
.app-hero h1{font-size:clamp(1.85rem,7vw,2.55rem);line-height:1.08;font-weight:500;margin:0 0 10px}
.app-hero p{font-size:1rem;line-height:1.55;margin:0;color:rgba(255,255,255,.86)}
.app-section{margin-top:24px}
.app-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}
.app-section-title{font-size:1.08rem;font-weight:700;margin:0;color:var(--koza-navy)}
.app-section-link{font-size:.88rem;color:var(--koza-teal-dark);font-weight:700}
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.app-action-card{
    min-height:150px;background:var(--koza-card);border:1px solid var(--koza-line);border-radius:22px;
    padding:18px;display:flex;flex-direction:column;justify-content:space-between;color:var(--koza-text);
    box-shadow:0 8px 25px rgba(14,57,68,.04);transition:transform .16s ease,border-color .16s ease;
}
.app-action-card:active{transform:scale(.985)}
.app-action-card.primary{grid-column:1/-1;min-height:172px;background:linear-gradient(135deg,#fff,#f2fbfb);border-color:#bfe3e4}
.app-action-card .app-card-icon{
    width:52px;height:52px;border-radius:17px;background:var(--koza-soft);color:var(--koza-teal-dark);
    display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.app-action-card.primary .app-card-icon{width:58px;height:58px;background:var(--koza-teal);color:#fff}
.app-card-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-action-card h2,.app-action-card h3{font-size:1.08rem;margin:0 0 5px;font-weight:700;color:var(--koza-navy)}
.app-action-card.primary h2{font-size:1.35rem}
.app-action-card p{font-size:.86rem;line-height:1.45;color:var(--koza-muted);margin:0}
.app-card-arrow{display:inline-flex;align-items:center;gap:5px;color:var(--koza-teal-dark);font-weight:700;font-size:.88rem;margin-top:12px}
.app-card-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.app-panel{
    background:#fff;border:1px solid var(--koza-line);border-radius:24px;padding:20px;
    box-shadow:var(--koza-shadow);margin-bottom:14px;
}
.app-panel-flat{background:#fff;border:1px solid var(--koza-line);border-radius:20px;padding:18px;margin-bottom:12px}
.app-page-head{margin:4px 0 18px}
.app-page-head .app-eyebrow{color:var(--koza-teal-dark);opacity:1}
.app-page-head h1{font-size:1.8rem;line-height:1.15;margin:0 0 8px;color:var(--koza-navy);font-weight:600}
.app-page-head p{margin:0;color:var(--koza-muted);line-height:1.55}
.app-form-label{font-size:.86rem;font-weight:700;color:#34565d;margin-bottom:7px}
.app-form .form-control,.app-form .form-select{
    min-height:54px;border-radius:15px;border-color:#cfdfe2;background-color:#fff;font-size:1rem;
    box-shadow:none;padding-left:14px;padding-right:14px;
}
.app-form .form-control:focus,.app-form .form-select:focus{border-color:var(--koza-teal);box-shadow:0 0 0 .2rem rgba(24,168,168,.12)}
.app-form .form-control:disabled,.app-form .form-select:disabled{background:#eef3f4;color:#8ba0a5}
.app-btn-primary{
    min-height:54px;border:0;border-radius:16px;background:var(--koza-teal);color:#fff;font-weight:700;
    padding:12px 20px;box-shadow:0 10px 22px rgba(24,168,168,.18);
}
.app-btn-primary:hover,.app-btn-primary:focus{background:var(--koza-teal-dark);color:#fff}
.app-btn-secondary{
    min-height:50px;border:1px solid var(--koza-line);border-radius:15px;background:#fff;color:var(--koza-navy);font-weight:700;padding:11px 18px
}
.app-btn-danger{min-height:48px;border:1px solid #efcaca;border-radius:14px;background:#fff7f7;color:var(--koza-danger);font-weight:700;padding:10px 16px}
.app-alert{padding:14px 16px;border-radius:16px;margin-bottom:14px;font-size:.93rem;line-height:1.45}
.app-alert-danger{background:#fff2f2;border:1px solid #f0cccc;color:#852b2b}
.app-alert-success{background:#edf9f4;border:1px solid #bfe6d2;color:#226a49}
.app-alert-info{background:#eef8fb;border:1px solid #cce5ec;color:#255b69}
.app-info-row{
    display:flex;gap:12px;align-items:center;padding:16px;background:#fff;border:1px solid var(--koza-line);border-radius:18px;color:var(--koza-text)
}
.app-info-row+.app-info-row{margin-top:10px}
.app-info-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:var(--koza-soft);display:flex;align-items:center;justify-content:center;color:var(--koza-teal-dark)}
.app-info-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-info-row strong{display:block;color:var(--koza-navy)}
.app-info-row small{display:block;color:var(--koza-muted);margin-top:2px}
.app-search{
    position:sticky;top:80px;z-index:10;background:var(--koza-bg);padding-bottom:10px;margin-bottom:4px
}
.app-search .form-control{height:52px;border-radius:16px;border-color:var(--koza-line);padding-left:44px;background:#fff}
.app-search-wrap{position:relative}
.app-search-wrap svg{position:absolute;left:15px;top:15px;width:21px;height:21px;fill:none;stroke:#789096;stroke-width:1.8}
.app-list-card{
    background:#fff;border:1px solid var(--koza-line);border-radius:20px;padding:15px;margin-bottom:10px;color:var(--koza-text);
    display:flex;align-items:center;gap:14px
}
.app-avatar{
    width:62px;height:62px;flex:0 0 62px;border-radius:18px;object-fit:cover;background:#e9f4f5;color:var(--koza-navy);
    display:flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:700
}
.app-list-card h2,.app-list-card h3{font-size:1rem;line-height:1.25;margin:0 0 5px;color:var(--koza-navy);font-weight:700}
.app-list-card p{font-size:.84rem;color:var(--koza-muted);margin:0;line-height:1.4}
.app-list-card .app-list-chevron{margin-left:auto;color:#93a5a9}
.app-list-card .app-list-chevron svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.app-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.app-filter-row .form-select{min-height:46px;border-radius:14px;border-color:var(--koza-line);font-size:.88rem}
.app-doctor-hero{text-align:center}
.app-doctor-photo{width:126px;height:126px;border-radius:32px;object-fit:cover;background:#eaf5f5;margin:0 auto 15px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--koza-navy);font-weight:700}
.app-doctor-hero h1{font-size:1.55rem;color:var(--koza-navy);margin:0 0 7px}
.app-doctor-meta{font-size:.92rem;color:var(--koza-muted);line-height:1.5}
.app-rich-content{font-size:.95rem;line-height:1.7;color:#3a555c}
.app-rich-content h1,.app-rich-content h2,.app-rich-content h3{color:var(--koza-navy);font-size:1.15rem;margin:1.3rem 0 .6rem}
.app-slot-list{display:flex;flex-wrap:wrap;gap:9px;min-height:48px}
.app-slot-btn{
    min-width:76px;border:1px solid #badadd;border-radius:14px;background:#fff;color:var(--koza-navy);
    padding:12px 13px;font-weight:700
}
.app-slot-btn.active{background:var(--koza-teal);border-color:var(--koza-teal);color:#fff}
.app-patient-box{margin-top:18px;padding-top:18px;border-top:1px solid var(--koza-line)}
.app-spinner{display:inline-block;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:appSpin .65s linear infinite;vertical-align:-3px;margin-right:6px}
@keyframes appSpin{to{transform:rotate(360deg)}}
.app-captcha{
    min-height:64px;border-radius:16px;border:1px solid #b9d8dc;background:
    repeating-linear-gradient(135deg,#f4fbfb,#f4fbfb 8px,#e9f5f6 8px,#e9f5f6 10px);
    display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:700;letter-spacing:.28rem;color:#214a52;user-select:none;position:relative;overflow:hidden
}
.app-captcha:after{content:"";position:absolute;left:-10%;width:120%;height:2px;top:52%;background:rgba(20,138,143,.48);transform:rotate(-7deg)}
.app-captcha span{position:relative;z-index:2}
.app-result-group{padding:18px;background:#fff;border:1px solid var(--koza-line);border-radius:20px;margin-bottom:12px}
.app-result-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--koza-line)}
.app-result-meta span{display:block;font-size:.72rem;color:#7d9196;margin-bottom:2px}
.app-result-meta strong{font-size:.9rem;color:var(--koza-navy)}
.app-result-table{font-size:.85rem}
.app-result-table th{white-space:nowrap;color:#60767b;font-size:.76rem}
.app-result-table td{vertical-align:middle}
.app-appointment-card{background:#fff;border:1px solid var(--koza-line);border-radius:22px;padding:18px;margin-bottom:12px}
.app-appointment-top{display:flex;justify-content:space-between;gap:12px;align-items:start}
.app-appointment-id{font-size:.78rem;color:var(--koza-muted)}
.app-appointment-id strong{display:block;font-size:1.15rem;color:var(--koza-navy);margin-top:3px}
.app-status-pill{font-size:.72rem;border-radius:999px;padding:6px 9px;background:#eef7f7;color:var(--koza-teal-dark);font-weight:700}
.app-appointment-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.app-appointment-details span{display:block;font-size:.72rem;color:#7d9196}
.app-appointment-details strong{display:block;font-size:.88rem;color:#36545b;margin-top:2px}
.app-appointment-actions{display:flex;gap:8px;margin-top:15px}
.app-appointment-actions button,.app-appointment-actions a{flex:1;text-align:center}
.app-empty{text-align:center;padding:34px 20px;color:var(--koza-muted)}
.app-empty-icon{width:64px;height:64px;border-radius:22px;margin:0 auto 14px;background:var(--koza-soft);color:var(--koza-teal-dark);display:flex;align-items:center;justify-content:center}
.app-empty-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8}
.app-privacy-note{font-size:.8rem;color:#70868b;line-height:1.5;padding:12px 14px;background:#f1f6f7;border-radius:14px}
.app-count-badge{display:inline-flex;min-width:22px;height:22px;border-radius:999px;background:var(--koza-teal);color:#fff;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;padding:0 6px;margin-left:4px}
.app-bottom-nav{
    position:fixed;z-index:1030;left:0;right:0;bottom:0;height:calc(72px + env(safe-area-inset-bottom));
    padding:5px max(8px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-right));
    background:rgba(255,255,255,.97);border-top:1px solid var(--koza-line);backdrop-filter:blur(16px);
    display:flex;justify-content:center
}
.app-bottom-item{
    width:min(20%,152px);height:66px;color:#789095;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    font-size:.68rem;font-weight:700;border-radius:15px
}
.app-bottom-item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-bottom-item.active{color:var(--koza-teal-dark);background:#f1fbfb}
.app-menu-card{display:flex;align-items:center;gap:13px;padding:17px;background:#fff;border:1px solid var(--koza-line);border-radius:18px;color:var(--koza-text);margin-bottom:9px}
.app-menu-card .app-menu-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:var(--koza-soft);color:var(--koza-teal-dark);display:flex;align-items:center;justify-content:center}
.app-menu-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-menu-card strong{display:block;color:var(--koza-navy)}
.app-menu-card small{display:block;color:var(--koza-muted);margin-top:2px}
.app-menu-card .chev{margin-left:auto;color:#93a5a9}
.app-hospital-card{padding:18px;border:1px solid var(--koza-line);border-radius:20px;background:#fff;margin-bottom:10px}
.app-hospital-card h2{font-size:1.05rem;color:var(--koza-navy);margin:0 0 8px}
.app-hospital-card p{font-size:.86rem;color:var(--koza-muted);margin:0;line-height:1.5}
.app-hospital-card .app-hospital-actions{display:flex;gap:8px;margin-top:13px}
.app-hospital-actions a{flex:1;text-align:center;padding:10px;border-radius:13px;background:#f0f8f8;color:var(--koza-teal-dark);font-weight:700;font-size:.84rem}
@media(max-width:390px){
    .app-main{padding-left:12px;padding-right:12px}
    .app-grid{gap:9px}
    .app-action-card{padding:15px;min-height:142px}
    .app-filter-row{grid-template-columns:1fr}
    .app-result-meta,.app-appointment-details{grid-template-columns:1fr}
    .app-bottom-item{font-size:.62rem}
}
@media(min-width:700px){
    .app-main{padding-top:24px}
    .app-grid{grid-template-columns:repeat(4,1fr)}
    .app-action-card.primary{grid-column:span 2;grid-row:span 2}
}


/* v1.1.0 navy/teal visual refresh */
html,body.koza-app-body{background:#f2f6f8}
body.koza-app-body{background:linear-gradient(180deg,#f7fafb 0,#f1f6f8 310px,#f2f6f8 100%)}
.app-safe-top{background:#fff}
.app-topbar{border-bottom-color:#dce6ea;box-shadow:0 5px 18px rgba(4,48,70,.035)}
.app-icon-button{border-color:#d6e2e7;color:var(--koza-navy-deep);box-shadow:0 4px 12px rgba(6,59,86,.04)}
.app-icon-button:active{background:#eef4f7}
.app-hero{background:linear-gradient(138deg,#032f49 0%,#064866 60%,#0b6078 100%);box-shadow:0 20px 44px rgba(3,47,73,.22);border:1px solid rgba(255,255,255,.08)}
.app-hero:after{width:230px;height:230px;right:-95px;top:-112px;background:rgba(24,168,168,.19)}
.app-hero:before{width:120px;height:120px;right:70px;bottom:-88px;background:rgba(255,255,255,.07)}
.app-hero .app-eyebrow{color:#8fe0df;opacity:1}
.app-hero h1{font-weight:500;letter-spacing:-.025em}
.app-grid{gap:12px}
.app-action-card{border-color:#dbe6ea;box-shadow:0 11px 26px rgba(6,54,74,.055);overflow:hidden;position:relative}
.app-action-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}
.app-action-card.card-navy{background:linear-gradient(145deg,#032f49 0%,#06445f 100%);border-color:#073e57;color:#fff;box-shadow:0 17px 34px rgba(3,47,73,.19)}
.app-action-card.card-blue{background:linear-gradient(145deg,#0a5673 0%,#0b6a82 100%);border-color:#0d5c7a;color:#fff;box-shadow:0 14px 30px rgba(9,83,108,.16)}
.app-action-card.card-soft-blue{background:linear-gradient(145deg,#f8fbfc 0%,#eaf3f7 100%);border-color:#d4e3e9}
.app-action-card.card-white:before,.app-action-card.card-soft-blue:before{background:var(--koza-teal)}
.app-action-card.card-navy h2,.app-action-card.card-navy h3,.app-action-card.card-blue h2,.app-action-card.card-blue h3{color:#fff}
.app-action-card.card-navy p,.app-action-card.card-blue p{color:rgba(255,255,255,.76)}
.app-action-card.card-navy .app-card-icon,.app-action-card.card-blue .app-card-icon{background:rgba(255,255,255,.11);color:#8ee1df;border:1px solid rgba(255,255,255,.11)}
.app-action-card.card-navy .app-card-arrow,.app-action-card.card-blue .app-card-arrow{color:#9ce5e3}
.app-action-card.primary{background:linear-gradient(145deg,#032f49 0%,#06445f 100%);border-color:#073e57}
.app-action-card.primary .app-card-icon{background:rgba(24,168,168,.22);color:#a7ecea;border:1px solid rgba(148,229,226,.15)}
.app-action-card .app-card-icon{background:#edf5f8;color:var(--koza-blue)}
.app-card-arrow{color:var(--koza-blue);font-weight:700}
.app-section-title,.app-action-card h2,.app-action-card h3{color:var(--koza-navy-deep)}
.app-info-icon,.app-menu-card .app-menu-icon,.app-empty-icon{background:#eaf3f7;color:var(--koza-blue)}
.app-info-row,.app-menu-card,.app-list-card,.app-hospital-card{border-color:#d9e5e9;box-shadow:0 7px 20px rgba(5,48,70,.035)}
.app-page-head{position:relative;padding-left:15px;margin-top:8px}
.app-page-head:before{content:"";position:absolute;left:0;top:2px;width:4px;height:44px;border-radius:99px;background:linear-gradient(180deg,var(--koza-teal),var(--koza-blue))}
.app-page-head .app-eyebrow{color:var(--koza-blue);font-size:.72rem}
.app-page-head h1{color:var(--koza-navy-deep);letter-spacing:-.02em}
.app-panel{border-color:#d9e5e9;box-shadow:0 15px 34px rgba(5,48,70,.065)}
.app-panel-accent{position:relative;overflow:visible}
.app-panel-accent:before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--koza-navy),var(--koza-blue),var(--koza-teal))}
.app-panel-kicker{display:flex;align-items:center;gap:8px;margin:-2px 0 16px;color:var(--koza-blue);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em}
.app-panel-kicker span{width:26px;height:26px;border-radius:9px;background:var(--koza-navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;letter-spacing:0}
.app-form-label{color:#34535d}
.app-form .form-control,.app-form .form-select{border-color:#cfdee4;background-color:#fff;box-shadow:0 3px 10px rgba(6,59,86,.025)}
.app-form .form-control:focus,.app-form .form-select:focus{border-color:var(--koza-blue);box-shadow:0 0 0 .2rem rgba(13,92,122,.11)}
.app-btn-primary{background:linear-gradient(135deg,var(--koza-navy-deep),var(--koza-blue));box-shadow:0 12px 24px rgba(4,58,82,.17)}
.app-btn-primary:hover,.app-btn-primary:focus{background:linear-gradient(135deg,#022a42,#084e6c)}
.app-btn-secondary{border-color:#cbdce3;color:var(--koza-navy-deep)}
.app-slot-btn{border-color:#bfd3dc;color:var(--koza-navy-deep);background:#fff;box-shadow:0 4px 12px rgba(5,48,70,.04)}
.app-slot-btn:hover{border-color:var(--koza-blue);background:#f4f9fb}
.app-slot-btn.active{background:var(--koza-navy);border-color:var(--koza-navy);color:#fff;box-shadow:0 8px 18px rgba(6,59,86,.18)}
.app-captcha{color:var(--koza-navy-deep);border-color:#bed5de;background:repeating-linear-gradient(135deg,#f5f9fb,#f5f9fb 8px,#eaf3f7 8px,#eaf3f7 10px)}
.app-captcha:after{background:rgba(24,168,168,.48)}
.app-bottom-nav{border-top-color:#d8e5e9;box-shadow:0 -8px 24px rgba(5,48,70,.055)}
.app-bottom-item{color:#70858c;position:relative}
.app-bottom-item.active{color:var(--koza-navy-deep);background:#edf4f7}
.app-bottom-item.active:before{content:"";position:absolute;top:3px;width:22px;height:3px;border-radius:99px;background:var(--koza-teal)}
.app-count-badge{background:var(--koza-navy);color:#fff}
.app-privacy-note{background:#eef4f6;color:#60767d;border:1px solid #e0e9ec}
.app-alert-info{background:#eef6f9;border-color:#cedfe6;color:#285b6d}

/* custom app calendar */
.app-date-field{position:relative}
.app-date-display{padding-right:3.2rem!important;cursor:pointer;background:#fff!important}
.app-date-display:disabled{background:#eef3f5!important;cursor:not-allowed;color:#8ba0a6}
.app-date-button{position:absolute;right:.38rem;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:12px;background:#edf5f8;color:var(--koza-blue);display:flex;align-items:center;justify-content:center;transition:.15s ease}
.app-date-button:hover:not(:disabled){background:#e2eff3;color:var(--koza-navy)}
.app-date-button:disabled{color:#aab8bc;background:transparent;cursor:not-allowed}
.app-date-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-calendar-popover{position:fixed;z-index:1200;width:min(350px,calc(100vw - 24px));background:#fff;border:1px solid #d3e1e6;border-radius:22px;box-shadow:0 24px 60px rgba(3,47,73,.2);padding:16px;display:none;overflow:hidden}
.app-calendar-popover:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--koza-navy),var(--koza-blue),var(--koza-teal))}
.app-calendar-popover.show{display:block;animation:appCalendarIn .14s ease-out}
@keyframes appCalendarIn{from{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:none}}
.app-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:7px;margin:3px 0 14px}
.app-calendar-nav{width:42px;height:42px;border:1px solid #d6e3e8;background:#f7fafb;border-radius:13px;color:var(--koza-navy);font-size:1.35rem;line-height:1}
.app-calendar-nav:hover{background:#edf4f7;border-color:#c5d8e0}
.app-calendar-selects{display:grid;grid-template-columns:1.25fr .85fr;gap:7px}
.app-calendar-selects select{height:42px;border:1px solid #d4e2e7;border-radius:12px;padding:0 9px;background:#fff;color:var(--koza-navy-deep);font-weight:700;font-size:.86rem;outline:none}
.app-calendar-week,.app-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.app-calendar-week{margin-bottom:6px}
.app-calendar-week span{text-align:center;font-size:.68rem;color:#84969b;font-weight:800;padding:4px 0;text-transform:uppercase}
.app-calendar-day{aspect-ratio:1;border:0;border-radius:12px;background:transparent;color:#274a55;font-size:.88rem;font-weight:600;transition:.12s ease}
.app-calendar-day:hover:not(:disabled){background:#eaf3f7;color:var(--koza-navy)}
.app-calendar-day.today{box-shadow:inset 0 0 0 1px var(--koza-teal);color:var(--koza-teal-dark)}
.app-calendar-day.selected{background:var(--koza-navy);color:#fff;box-shadow:0 7px 15px rgba(6,59,86,.18)}
.app-calendar-day.other{color:#b3c0c4;font-weight:500}
.app-calendar-day:disabled{color:#d1dadd;cursor:not-allowed;background:transparent}
.app-calendar-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #e8eef0}
.app-calendar-foot button{border:0;background:transparent;color:var(--koza-blue);font-weight:800;font-size:.82rem;padding:5px 2px}
.app-calendar-foot button:first-child{color:#7b8e94;font-weight:600}
@media(max-width:575.98px){.app-calendar-popover{left:12px!important;right:12px!important;width:auto}.app-calendar-day{border-radius:10px}}


/* v1.2.0 Font Awesome application icon layer */
.app-icon-button .fa{
    font-size:1.16rem;
    line-height:1;
}
.app-card-icon .fa{
    font-size:1.62rem;
    line-height:1;
}
.app-action-card.primary .app-card-icon .fa{
    font-size:1.82rem;
}
.app-card-arrow .fa{
    font-size:.82rem;
    margin-left:3px;
}
.app-info-icon .fa,
.app-menu-icon .fa{
    font-size:1.28rem;
    line-height:1;
}
.app-bottom-item .fa{
    font-size:1.33rem;
    line-height:1;
    transition:transform .16s ease;
}
.app-bottom-item.active .fa{
    transform:translateY(-1px);
}
.app-bottom-item.active{
    color:var(--koza-blue);
    background:linear-gradient(180deg,#eef6fa 0%,#f6fafc 100%);
}
.app-bottom-item.active:before{
    content:"";
    position:absolute;
    top:2px;
    width:26px;
    height:3px;
    border-radius:99px;
    background:linear-gradient(90deg,var(--koza-teal),var(--koza-blue));
}
.app-bottom-item{
    position:relative;
}
.app-search-wrap .fa{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#718992;
    font-size:.98rem;
    z-index:2;
}
.app-list-chevron .fa{
    font-size:.9rem;
}
.app-empty-icon .fa{
    font-size:1.65rem;
}
.app-date-button .fa{
    font-size:1rem;
    line-height:1;
}
.app-btn-primary .fa,
.app-btn-secondary .fa,
.app-btn-danger .fa,
.app-hospital-actions .fa{
    margin-right:.34rem;
}
.app-btn-primary,
.app-btn-secondary,
.app-btn-danger,
.app-hospital-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.18rem;
}
.app-menu-card .chev .fa{
    font-size:.78rem;
}
.app-hospital-actions a:first-child{
    background:#edf4f8;
    color:var(--koza-navy);
}
.app-hospital-actions a:last-child{
    background:var(--koza-navy);
    color:#fff;
}
.app-hospital-actions a:last-child:hover{
    background:var(--koza-blue);
}
