/* One responsive layout, shared by initial and loaded shop states. */
.shop-owner-page{height:auto;overflow:auto}
.shop-owner-page main{width:100%;max-width:1600px;margin:0 auto;padding:12px;box-sizing:border-box}
.shop-owner-page h1{font-size:22px;margin:0 0 4px}
.owner-intro{color:#64748b;margin:0 0 12px!important}
.owner-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;min-height:40px}
.owner-shortcuts>*{margin:0;min-height:40px}
.owner-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.owner-card{min-width:0;margin:0;padding:16px;border:1px solid #d9e3f2;border-radius:14px;background:white;box-sizing:border-box}
.owner-card label{margin-bottom:12px;max-width:none}
.owner-card input,.owner-card select{max-width:100%;box-sizing:border-box}
#shop-form{grid-column:1;grid-row:1}
.permissions{grid-column:2;grid-row:1}
.qr-card{grid-column:3;grid-row:1}
.inbox-card{grid-column:1/-1;grid-row:2}
#status{grid-column:1/-1;margin:0!important}
.owner-card .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.owner-card .actions>*{flex:1 1 110px;min-height:40px;margin:0}
.permission-toggle{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px;background:#f3f7ff;border:1px solid #d9e3f2;border-radius:9px;min-height:58px}
.permission-toggle>span:first-child{flex:1;min-width:0}
.permission-toggle input[type=checkbox]{appearance:none;flex:none;position:relative;width:40px;height:24px;min-height:24px;border:0;border-radius:20px;background:#94a3b8;padding:0}
.permission-toggle input:before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white}
.permission-toggle input:checked{background:#16834b}.permission-toggle input:checked:before{left:19px}
.permission-state{font-size:11px;white-space:nowrap;color:#64748b}
.permission-state[data-enabled=true]{color:#16733b}
#save-accepting,#save-print-policy{display:none!important}
#logo{display:block;max-width:90px;max-height:70px;margin:8px 0}
#qr{display:block;width:200px;height:200px;max-width:100%;object-fit:contain;margin:14px auto;background:white}
#network-notice{color:#64748b;font-size:12px}
#inbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}
#inbox>section{padding:12px;border:1px solid #d9e3f2;border-radius:8px;min-width:0}
#inbox button,#inbox a{margin:4px}
.shop-quality-options{margin:10px 0;max-width:260px}
.shop-quality-options summary{list-style:none;background:#edf3ff;color:#0641ad;border:1px solid #cbd9ee;min-height:36px;padding:8px 12px}
.shop-quality-options summary:after{content:' ▾';margin-left:8px}.shop-quality-options[open] summary:after{content:' ▴'}
.shop-quality-options summary::-webkit-details-marker{display:none}.shop-quality-options>div{padding:10px 0}
#qr-dialog{border:0;border-radius:16px;width:min(440px,calc(100vw - 24px));max-height:90dvh;padding:20px;overflow:auto}
#qr-dialog::backdrop{background:#10234470}.qr-dialog-heading{display:flex;align-items:center;justify-content:space-between}
#close-qr{background:transparent;color:#d53939;font-size:24px;padding:0;min-width:32px}
#large-qr{display:block;width:100%;margin:12px auto}#qr-done{width:100%}
.shop-owner-page [hidden]{display:none!important}
@media(min-width:701px) and (max-width:1050px){.owner-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-card{grid-column:1/-1;grid-row:2}.inbox-card{grid-row:3}}
@media(max-width:700px){.shop-owner-page main{padding:10px}.owner-layout{grid-template-columns:minmax(0,1fr)}#shop-form,.permissions,.qr-card,.inbox-card{grid-column:1;grid-row:auto}.owner-card{padding:14px}.owner-card input,.owner-card select{font-size:16px}.owner-shortcuts>*{flex:1 1 120px}.permission-toggle{gap:8px}.permission-state{font-size:10px}}

/* Do not flash empty editable forms before the account's data arrives. */
.shop-loading .owner-layout{visibility:hidden;min-height:380px}
.shop-loading .owner-shortcuts{visibility:hidden}
.shop-loading-message{position:absolute;top:190px;left:0;width:100%;text-align:center;color:#64748b;font-size:14px!important;margin:0!important;padding:24px;box-sizing:border-box}
.shop-loading-message:before{content:'';display:block;width:24px;height:24px;border:3px solid #dbe7f7;border-top-color:#0641ad;border-radius:50%;margin:0 auto 12px;animation:shop-spin .8s linear infinite}
@keyframes shop-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.shop-loading-message:before{animation:none}}
.shop-owner-page .owner-card p[role=status]{min-height:18px}
.shop-owner-page #qr{aspect-ratio:1;flex-shrink:0}
.shop-owner-page main{min-height:calc(100dvh - 67px)}
@media(max-width:700px){.shop-owner-page main{min-height:calc(100dvh - 97px)}.shop-loading .owner-layout{min-height:calc(100dvh - 240px)}}

/* Customer documents sit beside their shop QR on wider screens. */
@media(min-width:701px){
 .owner-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
 #shop-form{grid-column:1;grid-row:1}
 .permissions{grid-column:2;grid-row:1}
 .inbox-card{grid-column:1;grid-row:2}
 .qr-card{grid-column:2;grid-row:2}
 #inbox{grid-template-columns:minmax(0,1fr)}
}

/* Quiet, polished shop workspace in the site's blue and yellow palette. */
.shop-owner-page{background:#f4f7fc;color:#172642}
.shop-owner-page main{padding:18px 20px;max-width:1480px}
.shop-owner-page h1{font-size:25px;font-weight:780;letter-spacing:-.6px}
.owner-intro{font-size:13px!important;color:#718096;margin-bottom:18px!important}
.owner-layout{gap:16px}
.owner-card{border:1px solid #e0e7f0;border-radius:16px;padding:22px;box-shadow:0 3px 14px #15356706}
.owner-card h2{font-size:16px;font-weight:750;letter-spacing:-.2px;color:#17345e;margin-bottom:16px}
.owner-card label{font-size:12px;font-weight:650;color:#50617b}
.owner-card input:not([type=checkbox]),.owner-card select{border:1px solid #d9e2ef;border-radius:9px;min-height:42px;background:#fcfdff;transition:border-color .15s}
.owner-card input:focus-visible,.owner-card select:focus-visible{outline:2px solid #b9d4ff;outline-offset:1px;border-color:#0641ad}
.owner-card button,.owner-card .download-button{border-radius:9px;font-size:12px;box-shadow:none}
.owner-card .actions>*{background:#edf3ff;color:#0641ad;border:1px solid #d8e4f6}
#shop-form .actions button,#download{background:#0641ad;color:white;border-color:#0641ad}
.permission-toggle{background:#f7f9fd;border-color:#e6ecf5;padding:13px;border-radius:11px}
.permission-state{padding:3px 7px;border-radius:12px;background:#e9eef5}
.permission-state[data-enabled=true]{background:#e0f4e9}
.qr-card{background:white}
#qr{width:224px;height:224px;padding:10px;border:1px solid #e5ebf5;border-radius:12px}
#network-notice{font-size:11px;line-height:1.6;color:#7a879a}
#shop-link{font-size:11px;color:#63748d}
#inbox>section{background:#fafcff}
.shop-quality-options summary{border-radius:8px;font-size:12px}
@media(max-width:700px){.shop-owner-page main{padding:12px}.shop-owner-page h1{font-size:23px}.owner-card{padding:17px}.owner-layout{gap:12px}.owner-card input:not([type=checkbox]),.owner-card select{font-size:16px}#qr{max-width:100%}}

/* Documents and print requests are the first shop workspace. */
.shop-owner-page .owner-layout{display:flex;flex-direction:column}.owner-layout>.inbox-card,.owner-layout>.shop-print-history,.owner-layout>.shop-settings{width:100%}.shop-settings{border:1px solid #e0e7f0;border-radius:14px;background:#fff;padding:16px;box-sizing:border-box}.shop-settings>summary{cursor:pointer;font-weight:650;color:#17345e}.shop-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.shop-settings-grid>#shop-form,.shop-settings-grid>.permissions,.shop-settings-grid>.qr-card{grid-column:auto;grid-row:auto}.shop-settings-grid>.qr-card{grid-column:1/-1}.shop-print-history article{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #e8edf4}.shop-print-history time{margin-left:auto;font-size:12px;color:#64748b}.print-state{font-size:12px;border-radius:20px;padding:5px 10px;background:#edf3ff;color:#0641ad}.print-state-failed,.print-state-expired{background:#fff0f0;color:#b42318}.print-state-spooled{background:#e5f6ec;color:#16733b}@media(max-width:700px){.shop-settings-grid{grid-template-columns:minmax(0,1fr)}.shop-print-history time{margin-left:0;width:100%}}
