/* Rouzyar 2026 shared design system: senior app, family workspace, admin operations.
   Presentation-only overrides: do not hide data, buttons, tables or alerts. */
:root{--rz-navy:#073d52;--rz-ink:#173b4d;--rz-teal:#0b9da5;--rz-blue:#e4f2ff;--rz-mint:#dff7eb;--rz-violet:#eee9ff;--rz-peach:#fff1df;--rz-rose:#ffe8ed;--rz-border:#dbeaf0;--rz-shadow:0 16px 42px rgba(9,65,83,.07)}
body{font-family:Vazirmatn,Vazir,Tahoma,"Segoe UI",sans-serif;line-height:1.75}
button,select,input,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #16b5aa!important;outline-offset:2px}input,select,textarea{min-height:43px}button,.btn{min-height:43px}
/* Family web app and auth */
body:has(.app-view),body:has(.auth-view){--bg:#f4f9fc;--ink:var(--rz-ink);--muted:#64808e;--line:var(--rz-border);--teal:var(--rz-teal);--teal-soft:#e3f8f4;--rail:#0a4050;--card:#fff;--shadow:var(--rz-shadow)}
.auth-view{background:radial-gradient(circle at 88% 20%,#ddf9eb,transparent 36%),radial-gradient(circle at 12% 82%,#dff0ff,transparent 38%),#f4faff;gap:clamp(22px,5vw,70px)}.auth-brand{border-radius:34px;padding:clamp(18px,3vw,36px);background:linear-gradient(145deg,#e7f8ff,#dcf9ef);border:1px solid #d0eced}.auth-brand h1{font-size:clamp(30px,3.5vw,50px);line-height:1.48;color:var(--rz-navy)}.auth-brand p{font-size:15px;color:#557787}.auth-panel,.auth-panel-polished{border:1px solid var(--rz-border);border-radius:30px;box-shadow:0 28px 75px #14506c1a;padding:clamp(21px,3vw,33px);background:#fff}.auth-panel .brand-lockup{justify-content:start}.auth-panel .brand-lockup strong{color:var(--rz-navy)}.auth-panel input{min-height:52px;border-radius:14px}.auth-panel button{min-height:48px;border-radius:13px}.auth-view .trust-row span:nth-child(4n+1){background:#e0f3ff;color:#145780}.auth-view .trust-row span:nth-child(4n+2){background:#def8e9;color:#217b62}.auth-view .trust-row span:nth-child(4n+3){background:#eee8ff;color:#6550a7}.rz-public-link{display:inline-flex;gap:5px;margin-top:21px;padding:9px 14px;border:1px solid #c9e6eb;border-radius:13px;color:#087f8b;font-size:13px;font-weight:800;background:#fff;text-decoration:none}.rz-public-link:hover{background:#ebf9fa}
.app-view .side-rail{background:#fff;border-inline-end:1px solid var(--rz-border);box-shadow:0 6px 35px #103e5710}.app-view .side-rail .brand-lockup{border-bottom:1px solid #e2eff0}.app-view .brand-lockup strong{color:var(--rz-navy)}.app-view .nav-item{border-radius:14px;font-weight:650;min-height:46px;color:#587886}.app-view .nav-item:is(:hover,.active){background:#ddf6f1;color:#086a76;font-weight:850}.app-view .nav-item:nth-child(4n+2):is(:hover,.active){background:#e4f1ff;color:#1467a8}.app-view .nav-item:nth-child(4n+3):is(:hover,.active){background:#eee8ff;color:#6f56b1}.app-view .nav-item:nth-child(4n+4):is(:hover,.active){background:#fff0db;color:#976419}.app-view .topbar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--rz-border);backdrop-filter:blur(12px)}.app-view .topbar h2{color:var(--rz-navy)}.app-view .content-scroll{background:radial-gradient(ellipse at 80% -5%,#e4f6ff,transparent 34%),#f4f9fc}.app-view .card,.app-view .metric-card{border-radius:23px;border:1px solid #dcecf1;box-shadow:var(--rz-shadow);background:#fff}.app-view .hero-person,.app-view .hero-card{border-radius:25px}.app-view .btn.primary{background:#088f99;border-radius:14px}.app-view .btn.subtle{background:#e3f6f4;color:#076c78;border-radius:13px}.app-view .btn.danger{background:var(--rz-rose);color:#9a3d4a}.app-view .metric-card:nth-child(4n+1){background:var(--rz-blue)}.app-view .metric-card:nth-child(4n+2){background:var(--rz-mint)}.app-view .metric-card:nth-child(4n+3){background:var(--rz-violet)}.app-view .metric-card:nth-child(4n+4){background:var(--rz-peach)}.app-view input,.app-view select,.app-view textarea{border-radius:13px;border-color:#cbdfe5;min-height:45px}.app-view .sidebar-promo{border-radius:20px}.app-view .settings-grid,.app-view .careops-grid,.app-view .cards{min-width:0}
/* Admin workbench */
body.admin-portal{--bg:#f4f9fc;--ink:var(--rz-ink);--muted:#68818d;--line:var(--rz-border);--teal:#0a9a9d;background:radial-gradient(circle at 83% 0,#e9f8f4,transparent 30%),#f4f9fc;color:var(--rz-ink)}
.admin-portal nav{background:#fff;color:var(--rz-ink);border-inline-end:1px solid #daebee;box-shadow:-7px 0 31px #163c5210;overflow-y:auto}.admin-portal nav .logo{padding:8px 7px 19px;border-bottom:1px solid var(--rz-border)}.admin-portal nav b{color:var(--rz-navy);font-size:24px}.admin-portal nav small{color:#75929e}.admin-portal nav button{color:#506f7f;background:transparent;border-radius:13px;font-weight:700;min-height:47px}.admin-portal nav button:is(:hover,.active){background:#def6ef;color:#087879;border:0}.admin-portal nav button:nth-of-type(4n+2):is(:hover,.active){background:#e3f1ff;color:#126aa2}.admin-portal nav button:nth-of-type(4n+3):is(:hover,.active){background:#eee9ff;color:#6048a8}.admin-portal nav button:nth-of-type(4n+4):is(:hover,.active){background:#fff1df;color:#94671b}.admin-portal #logout{border:1px solid #f2cccf!important;background:#ffedf0!important;color:#a44352!important}.admin-portal main{max-width:1580px;padding:clamp(15px,3vw,35px)}.admin-portal header{border:1px solid #d7eef0!important;background:linear-gradient(110deg,#e9f8fd,#e1f8f0)!important;border-radius:28px!important;padding:clamp(18px,2.5vw,31px)!important;box-shadow:none}.admin-portal header h1{color:var(--rz-navy);font-weight:900}.admin-portal header .eyebrow{color:#14838d}.admin-portal header p{color:#547b8a}.admin-portal .card{border:1px solid #d9e9ee;border-radius:22px;box-shadow:var(--rz-shadow);background:#fff}.admin-portal .card h2{color:var(--rz-navy)}.admin-portal .btn{background:#078d96;border-radius:13px;font-weight:800;padding-inline:16px}.admin-portal .btn.soft{background:#e5f5f4;color:#09717d;border:1px solid #d1e9e7}.admin-portal input,.admin-portal textarea,.admin-portal select{border-radius:12px;border-color:#c9dfe6;background:#fff;min-height:46px}.admin-portal .cards .card:nth-child(4n+1),.admin-portal #metrics>div:nth-child(4n+1){background:var(--rz-blue)}.admin-portal .cards .card:nth-child(4n+2),.admin-portal #metrics>div:nth-child(4n+2){background:var(--rz-mint)}.admin-portal .cards .card:nth-child(4n+3),.admin-portal #metrics>div:nth-child(4n+3){background:var(--rz-violet)}.admin-portal .cards .card:nth-child(4n+4),.admin-portal #metrics>div:nth-child(4n+4){background:var(--rz-peach)}.admin-portal .ops-overview-strip{border-radius:22px;border:1px solid #cce8ed;background:#e6f6fc}.admin-portal .admin-workbench{border-radius:22px}.admin-portal .workbench-action{border-radius:19px}.admin-portal .workbench-action:nth-child(4n+1){background:#ffedf1}.admin-portal .workbench-action:nth-child(4n+2){background:#e4f1ff}.admin-portal .workbench-action:nth-child(4n+3){background:#e0f7eb}.admin-portal .workbench-action:nth-child(4n+4){background:#f1ebff}.admin-portal th{color:#365f73;background:#f0f8fa}.admin-portal td{border-color:#e6eef1}.admin-portal .overview-cta{border-radius:22px;background:linear-gradient(115deg,#0b5269,#0b8b92)}.admin-portal .ops-status-banner{border-radius:19px}.rz-admin-site-link{display:inline-flex;align-items:center;text-decoration:none;color:#0b6d7d;background:#fff;border:1px solid #cce5e8;border-radius:13px;padding:9px 14px;font-weight:800;font-size:12px;min-height:43px}.rz-admin-site-link:hover{background:#eaf8fa}
body.admin-signin{font-family:Vazirmatn,Vazir,Tahoma,sans-serif!important;background:radial-gradient(circle at 85% 12%,#dff7ed 0,transparent 38%),radial-gradient(circle at 12% 87%,#e1efff 0,transparent 39%),#f4f9fc!important}body.admin-signin main{border:1px solid #d7e9ed;border-radius:31px!important;box-shadow:0 31px 85px #1a516620!important}body.admin-signin .brand img{width:90px!important}body.admin-signin h1{color:var(--rz-navy);font-weight:900}body.admin-signin button[type=submit]{background:#078e98;border-radius:15px}body.admin-signin input{border-radius:14px!important;min-height:54px}
@media(max-width:1050px){.admin-portal nav{border-bottom:1px solid #dcebee;box-shadow:none}.admin-portal nav button{min-height:43px}.app-view .side-rail{overflow:visible}}
@media(max-width:760px){body{font-size:14px}.auth-view{padding:22px 16px}.auth-brand{padding:19px}.auth-panel{padding:20px}.admin-portal main{padding:13px}.admin-portal header{gap:13px}.admin-portal header .rz-admin-site-link{width:auto}.admin-portal .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.app-view .content-scroll{padding-inline:12px}.app-view .card{border-radius:18px}.app-view .nav-item{min-width:48px}.rz-public-link{margin-top:13px}}
@media(max-width:420px){.admin-portal .cards{grid-template-columns:1fr}.admin-portal header .btn{flex:1}.admin-portal header h1{font-size:21px}.app-view .auth-panel input{min-width:0}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
/* Compact but usable admin navigation on phones; no sections disappear. */
@media(max-width:960px){.admin-portal nav{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;white-space:nowrap;position:sticky;top:0;z-index:55;min-height:auto;width:100%;padding:10px 12px;align-items:center;scrollbar-width:thin}.admin-portal nav .logo{min-width:128px;margin:0 7px 0 0;padding:2px 0;border:0}.admin-portal nav .logo img{width:39px;height:39px}.admin-portal nav .logo b{font-size:18px}.admin-portal nav button{white-space:nowrap;min-width:max-content;padding:10px 12px;flex:0 0 auto}.admin-portal nav form{margin:0 0 0 5px;flex:0 0 auto}.admin-portal #logout{width:auto;min-width:max-content}.admin-portal main{margin:0}}
