/* KOTO R3.7.3 cross-device responsive foundation. */
:root{--k-safe-l:env(safe-area-inset-left,0px);--k-safe-r:env(safe-area-inset-right,0px);--k-safe-b:env(safe-area-inset-bottom,0px)}
html{box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}*,*:before,*:after{box-sizing:inherit}body{max-width:100vw;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}input,select,textarea,button{max-width:100%;font:inherit}button,a{touch-action:manipulation}.k-table-scroll{position:relative;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.k-table-scroll:focus-visible{outline:2px solid #c9a75f;outline-offset:2px}.k-table-scroll table{width:100%;margin:0}.k-table-empty{height:112px!important;text-align:center!important;vertical-align:middle!important;color:#918a7f!important;white-space:normal!important}.k-responsive-menu{display:none;min-width:42px;min-height:42px;border:1px solid rgba(208,168,86,.55);border-radius:7px;background:#14120e;color:#e6c477;font-size:21px;line-height:1;cursor:pointer}.k-responsive-overlay{display:none;position:fixed;z-index:990;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(2px)}.k-responsive-overlay.is-open{display:block}

/* Admin + Staff: consistent content, tables, forms and actions. */
.kadmin .ka-main{min-width:0}.kadmin .ka-content{width:100%;max-width:1680px;margin-inline:auto}.kadmin .panelx,.kadmin .editor-card,.kadmin .list-card,.kadmin .form-section{min-width:0}.kadmin .tablewrap,.kadmin .k-table-scroll{width:100%;max-width:100%;overflow-x:auto}.kadmin table.tablex{width:100%;min-width:760px;border-collapse:collapse;table-layout:auto}.kadmin table.tablex th,.kadmin table.tablex td{height:52px;padding:10px 12px;vertical-align:middle;line-height:1.45}.kadmin table.tablex th{text-align:center;white-space:nowrap}.kadmin table.tablex td{text-align:center;overflow-wrap:anywhere}.kadmin table.tablex td:first-child,.kadmin table.tablex th:first-child{padding-left:16px}.kadmin table.tablex td[colspan]{height:112px;text-align:center;vertical-align:middle;white-space:normal}.kadmin table.tablex .btnx{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:2px;white-space:nowrap}.kadmin .formx,.kadmin .field-grid{min-width:0}.kadmin .formx>*,.kadmin .field-grid>*{min-width:0}.kadmin input,.kadmin select,.kadmin textarea{width:100%;min-width:0}.kadmin textarea{resize:vertical}.kadmin .gridx,.kadmin .stats,.kadmin .detail-grid,.kadmin .admin-layout-2{min-width:0}.kadmin .okmsg,.kadmin .badmsg,.kadmin .notice{overflow-wrap:anywhere}.kadmin .form-actions-sticky{max-width:100%}.kadmin .calendar-scroll,.kadmin .r35-calendar{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.kadmin .calendar-grid,.kadmin .r35-week,.kadmin .r35-cal-weekdays{min-width:700px}.kadmin .pdf-sheet{max-width:100%;overflow-wrap:anywhere}.kadmin .upload-preview{max-width:100%;height:auto;object-fit:cover}

/* Customer center. */
.ac-main{min-width:0}.ac-content{width:100%;max-width:1500px;margin-inline:auto}.card{min-width:0}.ac-content .k-table-scroll{border:1px solid #e6e0d5;border-radius:8px}.ac-content table.tbl{width:100%;min-width:720px;border-collapse:collapse;table-layout:auto}.ac-content table.tbl th,.ac-content table.tbl td{height:50px;padding:10px 12px;text-align:center;vertical-align:middle;line-height:1.45}.ac-content table.tbl th{white-space:nowrap}.ac-content table.tbl td{overflow-wrap:anywhere}.ac-content table.tbl td[colspan]{height:110px;text-align:center;vertical-align:middle}.ac-content table.tbl .btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;white-space:nowrap}.ac-content .form>*{min-width:0}.ac-content input,.ac-content select,.ac-content textarea{width:100%;min-width:0}.ac-content .empty{text-align:center;padding:42px 18px;color:#82796b}.ac-top>div{white-space:nowrap}

/* Public pages: prevent common overflow and preserve readable controls. */
.kpublic .kp-section,.kpublic .kp-home-grid,.kpublic .kp-about-shell{max-width:100%}.kpublic .kp-grid>*,.kpublic .kp-two>*,.kpublic .kp-form-grid>*,.kpublic .kp-contact-grid>*{min-width:0}.kpublic input,.kpublic select,.kpublic textarea{min-width:0}.kpublic .kp-modal-card{max-height:min(88vh,860px);overflow-y:auto;overscroll-behavior:contain}.kpublic .kp-modal-card .kp-form-grid{align-items:start}.kpublic .kp-gallery img,.kpublic .kp-card img,.kpublic .kp-home-card img{width:100%;object-fit:cover}.kpublic .kp-rich,.kpublic .kp-card-body,.kpublic .kp-detail-overlay{overflow-wrap:anywhere}.kpublic .ksf-pop{max-width:calc(100vw - 28px)}

/* KOTO Manager App. */
#app.shell,.content,.view{min-width:0}.content img{max-width:100%;object-fit:cover}.content table{width:100%;min-width:680px;border-collapse:collapse}.content table th,.content table td{padding:10px;text-align:center;vertical-align:middle}.content .k-table-scroll{border-radius:10px}.nav{padding-bottom:max(8px,var(--k-safe-b))}

/* iPad landscape / compact laptops. */
@media(max-width:1180px){.kadmin .ka-content{padding-inline:20px}.kadmin .gridx{grid-template-columns:repeat(2,minmax(0,1fr))}.kadmin .admin-layout-2{grid-template-columns:minmax(0,1fr)}.ac-content{padding-inline:22px}.kpublic .kp-section{padding-inline:0}}

/* iPad portrait and tablets: off-canvas navigation, two-column forms. */
@media(max-width:1024px){.kadmin .ka-side,.ac-side{position:fixed!important;z-index:1000!important;left:0!important;top:0!important;bottom:0!important;width:min(320px,86vw)!important;max-width:86vw!important;transform:translateX(-105%);transition:transform .24s ease;box-shadow:16px 0 48px rgba(0,0,0,.42)}.kadmin .ka-side.is-open,.ac-side.is-open{transform:translateX(0)}.kadmin .ka-main,.ac-main{margin-left:0!important;width:100%!important}.k-responsive-menu{display:inline-grid;place-items:center;flex:0 0 auto}.kadmin .ka-top,.ac-top{position:sticky;z-index:900;top:0;gap:12px;padding-left:max(16px,var(--k-safe-l));padding-right:max(16px,var(--k-safe-r))}.kadmin .ka-top-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kadmin .ka-top-actions{display:flex;gap:7px;overflow-x:auto}.kadmin .ka-top-actions .btnx{white-space:nowrap}.kadmin .ka-content{padding:22px 18px 34px}.kadmin .ka-pagehead{align-items:flex-start}.kadmin .formx,.kadmin .field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.kadmin table.tablex{min-width:820px}.ac-content{padding:22px 18px 36px}.ac-top{gap:12px}.ac-top>b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-content .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-content .grid2{grid-template-columns:1fr}.ac-content table.tbl{min-width:760px}.kpublic .kp-modal-card{width:min(720px,calc(100vw - 32px))}}

/* Phones and narrow tablets. */
@media(max-width:767px){.kadmin .ka-top,.ac-top{min-height:62px}.kadmin .ka-top-title{font-size:13px}.kadmin .ka-top-actions .btnx:not(:last-child){display:none}.kadmin .ka-content,.ac-content{padding:18px 12px 30px}.kadmin .ka-pagehead h1,.ac-head h1{font-size:clamp(24px,7vw,32px);line-height:1.2}.kadmin .ka-pagehead p,.ac-head p{font-size:13px}.kadmin .gridx,.kadmin .stats,.kadmin .detail-grid,.kadmin .formx,.kadmin .field-grid,.kadmin .field-grid.two{grid-template-columns:1fr!important}.kadmin .formx .full,.kadmin .field-grid .full{grid-column:auto!important}.kadmin .panelx,.kadmin .form-section,.kadmin .editor-card,.kadmin .list-card{padding:14px!important}.kadmin table.tablex{min-width:700px;font-size:12px}.kadmin table.tablex th,.kadmin table.tablex td{height:48px;padding:8px 10px}.kadmin .form-actions-sticky{position:sticky;bottom:calc(8px + var(--k-safe-b));z-index:20;padding:10px;background:rgba(10,10,10,.94);border:1px solid rgba(210,171,87,.35);border-radius:9px}.ac-top>div a:first-child{display:none}.ac-content .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ac-content .stat{padding:14px}.ac-content .card{padding:14px!important}.ac-content .form{grid-template-columns:1fr!important}.ac-content .form .full{grid-column:auto!important}.ac-content table.tbl{min-width:680px;font-size:12px}.ac-content table.tbl th,.ac-content table.tbl td{height:46px;padding:8px 9px}.login-card{width:calc(100vw - 28px)!important;max-width:480px!important;margin-inline:auto!important;padding:24px 18px!important}.kpublic .kp-modal-card{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:24px 16px}.kpublic .kp-modal-close{min-width:42px;min-height:42px}.kpublic .kp-btn,.kpublic button,.kpublic select,.kpublic input{min-height:44px}.kpublic .kp-home-copy h1{font-size:clamp(31px,9vw,40px)}.kpublic .kp-title{align-items:flex-start;gap:14px;flex-direction:column}.kpublic .kp-card img,.kpublic .kp-home-card img{height:auto;aspect-ratio:16/10}.kpublic .ksf-pop{position:fixed;left:50%;bottom:max(18px,var(--k-safe-b));transform:translate(-50%,12px)}.kpublic .ksf-item.is-open .ksf-pop{transform:translate(-50%,0)}#app.shell .top{padding-left:max(14px,var(--k-safe-l));padding-right:max(14px,var(--k-safe-r))}.content{padding-inline:12px}.content .cards,.content .grid,.content .grid2{grid-template-columns:1fr!important}.nav button{min-width:0;padding-inline:3px;font-size:10px}.nav button i{font-size:19px}}

/* Small phones: 320–430px. */
@media(max-width:430px){.kadmin .ka-content,.ac-content{padding-inline:10px}.kadmin .ka-pagehead,.ac-head{margin-bottom:14px}.kadmin table.tablex{min-width:640px}.ac-content table.tbl{min-width:620px}.ac-content .stats{grid-template-columns:1fr 1fr}.kpublic .kp-section,.kpublic .kp-home-grid,.kpublic .kp-about-shell{width:calc(100% - 20px)!important}.kpublic .kp-home-panel{padding-inline:8px}.kpublic .kp-home-benefits{grid-template-columns:1fr 1fr}.kpublic .kp-form-grid{grid-template-columns:1fr!important}.kpublic .kmf-brand .ksf-socials{gap:14px}.kpublic .kmf-brand .ksf-item{min-width:68px}.kpublic .kmf-brand .ksf-icon{width:48px;height:48px}.kpublic .koto-main-footer{padding-inline:14px}.loginbox{width:calc(100vw - 24px);padding:22px 16px}.content{padding-inline:9px}}

@media(max-width:360px){.kadmin .ka-top-actions,.ac-top>div{font-size:11px}.ac-content .stats{grid-template-columns:1fr}.kpublic .kp-home-benefits{grid-template-columns:1fr}.kpublic .kmf-brand .ksf-socials{gap:8px}.kpublic .kmf-brand .ksf-item{min-width:62px}.kpublic .kmf-brand .ksf-item em{font-size:10px}}

@media(min-width:768px) and (max-width:1024px){#app.shell{max-width:920px}.content{padding-inline:24px}.content .cards,.content .grid,.content .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){.kadmin .ka-wrap,.ac-wrap{display:block!important}.ac-side{display:block!important}}
@media(max-width:820px){.kadmin .ka-content,.ac-content{padding-inline:14px}.kadmin table.tablex{min-width:760px}.ac-content table.tbl{min-width:700px}}
@media(max-width:414px){.kadmin .panelx,.ac-content .card{border-radius:9px}.kpublic .kp-modal-card{border-radius:12px}}
@media(max-width:390px){.kadmin .ka-content,.ac-content{padding-inline:9px}.kpublic .koto-main-footer{padding-inline:12px}}
@media(max-width:375px){.kadmin table.tablex{min-width:620px}.ac-content table.tbl{min-width:600px}.kpublic .kmf-brand .ksf-socials{gap:10px}}
@media print{.k-responsive-menu,.k-responsive-overlay{display:none!important}.k-table-scroll{overflow:visible!important}.kadmin table.tablex,.ac-content table.tbl,.content table{min-width:0!important}.kadmin .ka-side,.ac-side{display:none!important}.kadmin .ka-main,.ac-main{margin:0!important;width:100%!important}}
.k-responsive-table th,.k-responsive-table td{vertical-align:middle;text-align:center}.k-responsive-table th{white-space:nowrap}.k-responsive-table td{overflow-wrap:anywhere}
