/* Shared phone and tablet layout for the Admin and owner dashboards. */
button,a,input,select{touch-action:manipulation}.table-wrap,.rx-wrap{-webkit-overflow-scrolling:touch}.table-wrap{scrollbar-width:thin}@media(max-width:850px){.admin-layout{display:block!important}.admin-theme .sidebar{position:sticky;top:0;z-index:30;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px!important;box-shadow:0 5px 16px rgba(5,30,28,.18)}.admin-theme .sidebar .brand{margin:0!important;white-space:nowrap;font-size:12px}.admin-theme .sidebar .mark{width:34px;height:34px;border-radius:9px}.admin-theme .nav{display:flex;gap:3px;min-width:0;overflow-x:auto;scrollbar-width:none}.admin-theme .nav::-webkit-scrollbar{display:none}.admin-theme .nav a{flex:0 0 auto;margin:0;padding:9px 10px;border-left:0!important;font-size:11px;white-space:nowrap}.admin-theme .nav-label{display:none}.admin-theme .logout-button{width:auto!important;margin:0!important;padding:9px 11px;font-size:11px}.admin-main{padding:20px 14px!important}.compact-hero{padding:8px 0 16px}.compact-hero h1{font-size:29px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat{padding:14px}.stats .stat strong{font-size:20px}.card{padding:17px}.admin-table{min-width:760px}.stats + .card .admin-table{min-width:760px}.form-card .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.form-card .wide{grid-column:span 2!important}}
@media(max-width:600px){.top{height:auto;min-height:68px}.top-inner{padding:9px 0;gap:8px}.shop-brand{gap:8px}.shop-avatar{flex-basis:38px;width:38px;height:38px;border-radius:10px}.shop-brand .brand-title{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.shop-brand .eyebrow{font-size:8px}.top-right{gap:6px}.theme-toggle{width:37px!important;height:31px!important}.membership-header{display:grid!important;min-width:0!important;padding:7px 9px!important}.membership-header b{display:none}.owner-menu-icon{width:30px;height:30px}.owner-menu-toggle{padding:4px!important}.owner-menu-copy{display:none}.owner-menu-arrow{display:grid!important}.hero{padding:22px 0 18px}.hero h1{font-size:27px}.hero .date{margin-top:12px}.summary{grid-template-columns:1fr!important;gap:9px}.card{padding:15px}.section-title{margin-bottom:16px}.section-title h2{font-size:17px}.money-grid{grid-template-columns:1fr!important}.actions{align-items:stretch;flex-direction:column-reverse}.actions .button{width:100%;min-height:44px}.toolbar{gap:7px}.toolbar .button{min-height:42px}.customer-header{padding:13px}.customer-panel-actions{padding:11px}.customer-panel-actions .button{width:100%;min-height:43px}.record{padding:13px}.bill-actions{width:100%}.bill-actions .button{width:100%;min-height:42px}.pin-modal{align-items:end;padding:0}.pin-modal-card,.membership-modal-card{width:100%;max-height:92vh;overflow:auto;border-radius:19px 19px 0 0;padding:26px 20px}.membership-modal .membership-contact.show{margin-bottom:5px}.form-card .grid{grid-template-columns:1fr!important}.form-card .wide{grid-column:span 1!important}.admin-main{padding:14px 10px!important}.admin-theme .sidebar .brand>span:last-child{display:none}.admin-theme .sidebar{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.admin-theme .sidebar .nav a{padding:8px 9px}.admin-theme .logout-button{padding:8px 9px;font-size:0}.admin-theme .logout-button:after{content:'↪';font-size:17px}.recycle-item{padding:14px}.archive-body{padding:0 10px 12px}.archive-info{font-size:10px}.membership-header span{font-size:8px}.renewal-page{padding:12px}.renewal-card{padding:27px 19px}}
@media(max-width:380px){.shop-brand .brand-title{max-width:85px}.theme-toggle{display:none}.membership-header{padding:7px!important}.admin-theme .sidebar .nav a{padding:8px}.admin-main{padding:12px 8px!important}}

/* Complete responsive pass for both administrator and Optical Desk screens. */
html,body{max-width:100%;overflow-x:hidden}img,svg{max-width:100%}input,select,textarea,button{max-width:100%}.admin-main,.wrap,.card,.table-wrap,.rx-wrap{min-width:0}.table-wrap,.rx-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.button{min-height:40px}
@media(max-width:850px){
  .admin-theme .sidebar{width:100%;overflow:hidden}.admin-theme .sidebar .nav{padding-bottom:2px}.admin-theme .sidebar .nav a{min-height:38px;display:flex;align-items:center}.admin-main{width:100%}.admin-main>.card,.admin-main section.card{max-width:100%}.admin-table{min-width:720px!important}.admin-actions{min-width:145px}.admin-actions .button{flex:1 1 auto;padding:9px 10px}.recycle-card{max-width:100%}
  .shop-top .top-inner{width:calc(100% - 24px)}.owner-menu-panel{max-width:calc(100vw - 24px)}.hero{align-items:flex-start}.rx-wrap{border-radius:10px}.money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  body{font-size:14px}.wrap{width:calc(100% - 20px)}.top-inner{width:calc(100% - 20px)!important}.shop-top{min-height:62px}.shop-top .top-inner{flex-wrap:nowrap}.top-right{min-width:0}.owner-menu{flex:0 0 auto}.owner-menu-panel{position:fixed;top:65px;right:10px;width:min(260px,calc(100vw - 20px))}.owner-menu-panel button{min-height:42px}
  .hero{padding:18px 0 15px}.hero h1{font-size:25px;line-height:1.12}.hero p{font-size:12px;line-height:1.5}.hero .date{margin-top:10px}.summary{grid-template-columns:1fr!important}.summary .stat{display:flex;align-items:center;justify-content:space-between;padding:13px 15px}.summary .stat small{margin:0}.summary .stat strong{font-size:19px}
  .card{border-radius:14px;padding:14px;margin-bottom:14px}.section-title{gap:9px}.section-title .num{flex:0 0 auto}.grid,#recordForm>.card:first-child .grid,.money-grid,.report-grid{grid-template-columns:1fr!important}.field{margin:10px 0}.field input,.field select{height:46px;font-size:16px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}.toolbar input{min-width:0;height:44px;font-size:16px}.toolbar .button{padding-inline:14px}
  .rx{min-width:680px}.rx th{position:sticky;top:0;z-index:1}.rx td{padding:10px 8px}.rx-values{gap:6px}.rx-control{grid-template-columns:36px minmax(58px,1fr)}.rx-control select,.rx-values input{height:40px;font-size:14px}.customer-header{align-items:flex-start;flex-wrap:wrap}.customer-header strong{min-width:0;overflow-wrap:anywhere}.customer-header>span{margin-left:auto}.record{align-items:stretch!important}.record-money{text-align:left!important}.bill-actions{display:grid!important;grid-template-columns:1fr}.bill-actions .button{width:100%}.customer-panel-actions{display:grid}.customer-panel-actions .button{width:100%}
  .admin-theme .sidebar{grid-template-columns:auto minmax(0,1fr) auto;padding:7px 8px!important}.admin-theme .sidebar .nav a{padding:8px 9px;font-size:10px}.admin-main{padding:12px 9px!important}.compact-hero{padding:6px 2px 13px}.compact-hero h1{font-size:25px;line-height:1.15}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.stats .stat{min-width:0;padding:12px}.stats .stat small{font-size:10px}.stats .stat strong{font-size:18px;overflow-wrap:anywhere}.admin-table{min-width:680px!important}.modal-card{max-height:92vh;overflow-y:auto}.recycle-item .button{width:100%}.archive-info{grid-template-columns:1fr!important}.archive-info span{margin-top:5px}.archive-record{overflow-wrap:anywhere}
}
@media(max-width:420px){
  .shop-brand .brand-title{max-width:92px}.membership-header{display:none!important}.theme-toggle{width:34px!important}.stats{grid-template-columns:1fr!important}.admin-theme .sidebar .brand{display:none!important}.admin-theme .sidebar{grid-template-columns:minmax(0,1fr) auto}.admin-theme .sidebar .nav a{font-size:10px}.admin-table{min-width:640px!important}.toolbar{grid-template-columns:1fr}.toolbar .button{width:100%}.rx{min-width:640px}.pin-modal-card,.membership-modal-card,.modal-card{padding:23px 16px}.landing-actions{flex-direction:column;width:100%}.landing-actions .button{width:100%}.login-card{padding:23px 18px}.login-card h1{font-size:26px}}

/* Mobile administrator hamburger navigation. */
.admin-menu-toggle{display:none}
@media(max-width:850px){
  .admin-theme .sidebar{min-height:58px;display:flex!important;align-items:center;justify-content:space-between;overflow:visible}
  .admin-theme .sidebar .admin-profile-brand{display:flex!important;order:1;margin:0!important;z-index:43}
  .admin-theme .sidebar>.nav-label{display:none!important}
  .admin-menu-toggle{order:3;display:inline-flex;width:42px;height:42px;flex:0 0 42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.08);cursor:pointer;z-index:43}
  .admin-menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}
  .admin-theme .sidebar.menu-open .admin-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .admin-theme .sidebar.menu-open .admin-menu-toggle span:nth-child(2){opacity:0}
  .admin-theme .sidebar.menu-open .admin-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .admin-theme .sidebar .nav{position:absolute;left:10px;right:10px;top:calc(100% + 7px);z-index:42;display:none;max-height:calc(100vh - 82px);overflow-y:auto;padding:9px;background:#102c2b;border:1px solid rgba(255,255,255,.14);border-radius:13px;box-shadow:0 20px 50px rgba(4,23,21,.35)}
  .admin-theme .sidebar.menu-open .nav{display:grid}
  .admin-theme .sidebar .nav .nav-label{display:block!important;margin:12px 10px 5px}
  .admin-theme .sidebar .nav a{width:100%;min-height:43px;padding:11px 12px;font-size:12px;border-left:2px solid transparent!important;border-radius:8px}
  .admin-theme .sidebar .logout-button{position:static;order:2;z-index:43;display:inline-flex;width:auto!important;min-height:42px;margin:0 0 0 auto!important;padding:9px 12px!important;font-size:11px;background:#fff0f0;color:#a63232}
  .admin-theme .sidebar .logout-button:after{content:none!important}
  .admin-theme .sidebar.menu-open:after{content:'';position:fixed;inset:58px 0 0;z-index:29;background:rgba(5,20,19,.28);pointer-events:none}
}
@media(max-width:420px){
  .admin-theme .sidebar .admin-profile-brand{display:flex!important}.admin-theme .sidebar .admin-profile-brand>span:last-child{display:block!important;font-size:12px}.admin-theme .sidebar{grid-template-columns:none}.admin-theme .logout-button:after{content:none}
}

/* Keep every Optical Desk account control visible in the mobile top panel. */
@media(max-width:600px){
  .shop-top{position:sticky;top:0;z-index:50;height:auto!important;min-height:68px;padding:0}
  .shop-top .top-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 0!important}
  .shop-brand{min-width:0;gap:7px!important}.shop-avatar{width:38px!important;height:38px!important;flex-basis:38px!important}.shop-brand>span:last-child{min-width:0}.shop-brand .eyebrow{display:block!important;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px!important;letter-spacing:.08em}.shop-brand .brand-title{display:block;max-width:118px!important;font-size:12px!important;line-height:1.2}
  .shop-top .top-right{display:grid!important;grid-template-columns:minmax(72px,1fr) 38px;align-items:center;justify-content:end;gap:6px;width:auto;min-width:0}
  .shop-top .theme-toggle{display:grid!important;width:32px!important;height:32px!important;min-width:32px!important}
  .shop-top .membership-header{display:grid!important;min-width:72px!important;max-width:136px;width:auto;padding:5px 7px!important;border-radius:9px;overflow:hidden;justify-self:end}
  .shop-top .membership-header span{display:block;font-size:6px!important;letter-spacing:.06em;white-space:nowrap;line-height:1.1}.shop-top .membership-header b{display:block!important;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px!important;line-height:1.2}
  .shop-top .owner-menu-toggle{width:38px;height:38px;padding:3px!important;justify-content:center;flex:0 0 auto}.shop-top .owner-menu-icon{width:30px;height:30px}.shop-top .owner-menu-arrow,.shop-top .owner-menu-copy{display:none!important}
}
@media(max-width:360px){
  .shop-top .top-inner{gap:4px}.shop-brand .eyebrow{display:none!important}.shop-brand .brand-title{max-width:94px!important}.shop-top .top-right{grid-template-columns:minmax(62px,1fr) 36px;gap:4px}.shop-top .membership-header{min-width:62px!important;max-width:100px!important;padding-inline:5px!important}.shop-top .owner-menu-toggle{width:36px}
}

@media(max-width:600px){
  .rx-mobile-panels{display:grid;gap:17px}.rx-mobile-eye{position:relative;overflow:hidden;border:1px solid #cbe2dd;border-radius:15px;background:#fff;box-shadow:0 9px 24px rgba(19,72,65,.08)}.rx-mobile-eye:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#15a28f,#087469)}.rx-mobile-left{border-color:#cedfe8}.rx-mobile-left:before{background:linear-gradient(#4c9fb5,#2a687b)}
  .rx-mobile-eye h3{display:flex;align-items:center;gap:10px;margin:0;padding:13px 14px;background:linear-gradient(135deg,#e4f7f2,#f7fcfb);color:#105f57;font-size:16px;letter-spacing:-.02em}.rx-mobile-left h3{background:linear-gradient(135deg,#e8f3f7,#f8fbfc);color:#285d6b}.rx-mobile-eye h3 span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#0d8578;color:#fff;font-size:11px;letter-spacing:.04em;box-shadow:0 4px 10px rgba(13,133,120,.2)}.rx-mobile-left h3 span{background:#397e92;box-shadow:0 4px 10px rgba(57,126,146,.2)}
  .rx-mobile-row{display:grid;gap:10px;padding:12px 13px 14px;border-top:1px solid #e2ece9}.rx-mobile-row:nth-child(odd){background:#fbfdfd}.rx-mobile-left .rx-mobile-row:nth-child(odd){background:#fbfcfd}.rx-mobile-row>strong{display:flex;align-items:center;gap:7px;font-size:12px;color:#304b47}.rx-mobile-row>strong:before{content:'';width:7px;height:7px;border-radius:50%;background:#36aa98}.rx-mobile-left .rx-mobile-row>strong:before{background:#5a9daf}
  .rx-mobile-row .rx-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.rx-mobile-row .rx-measure{min-width:0}.rx-mobile-row .rx-measure small{margin:0 0 5px;text-align:center;font-size:8px;letter-spacing:.04em}.rx-mobile-row .rx-control:not(.axis-control){grid-template-columns:32px minmax(0,1fr)!important;gap:4px}.rx-mobile-row .sign-select-wrap{position:relative;width:32px!important;height:42px!important}.rx-mobile-row .rx-control .sign-select{inset:0!important;width:32px!important;height:42px!important;padding:0!important;text-align:center!important;border-radius:8px;font-size:18px!important}.rx-mobile-row .rx-control.axis-control{grid-template-columns:minmax(0,1fr)!important}.rx-mobile-row .axis-number{min-width:0!important}.rx-mobile-row .rx-values input{width:100%!important;height:42px!important;min-width:0!important;padding:0 4px!important;border-color:#cbded9;text-align:center;font-size:14px!important;font-weight:800;color:#163c37;background:#fff}.rx-mobile-left .rx-values input{border-color:#cedde4;color:#244e5a}.rx-mobile-row .rx-values input:focus{outline:0;border-color:#15927f;box-shadow:0 0 0 3px rgba(21,146,127,.13)}
  .shop-dark .rx-mobile-eye{background:#19312f;border-color:#365d56}.shop-dark .rx-mobile-left{border-color:#365967}.shop-dark .rx-mobile-eye h3{background:linear-gradient(135deg,#214c46,#19312f);color:#d8f4ed}.shop-dark .rx-mobile-left h3{background:linear-gradient(135deg,#284853,#19312f);color:#dceef3}.shop-dark .rx-mobile-row,.shop-dark .rx-mobile-row:nth-child(odd),.shop-dark .rx-mobile-left .rx-mobile-row:nth-child(odd){background:#19312f;border-color:#31514d}.shop-dark .rx-mobile-row>strong{color:#cce0dc}.shop-dark .rx-mobile-row .rx-values input{background:#203c38;color:#edf7f4;border-color:#42635d}
}
