/* Connected account layer */
.auth-gated .sidebar,.auth-gated .app-main,.auth-gated .mobile-nav,.auth-gated .skip-link{display:none!important}
.auth-shell{min-height:100svh;display:grid;place-items:center;padding:38px 22px;background:radial-gradient(ellipse at 50% 12%,#e9f2ff 0,transparent 49%),#f5f5f7}
.auth-card{width:min(100%,400px);text-align:center;animation:auth-enter .55s ease both}
.auth-wordmark{color:#1d1d1f;font-size:25px;font-weight:750;letter-spacing:-1.5px;text-decoration:none}.auth-wordmark span{color:#007aff}
.auth-orb{margin:34px auto 29px;width:91px;height:91px;border:7px solid #d9e9ff;border-radius:50%;position:relative;box-shadow:0 14px 45px #007aff12;background:#f8fbff}.auth-orb:before{content:'';position:absolute;inset:-7px;border:7px solid transparent;border-top-color:#007aff;border-right-color:#007aff;border-radius:50%;transform:rotate(22deg)}.auth-orb span{display:block;width:17px;height:29px;border:solid #007aff;border-width:0 3px 3px 0;transform:rotate(45deg);margin:19px auto}
.auth-eyebrow{display:block;color:#007aff;font-size:10px;font-weight:700;letter-spacing:2px}.auth-card h1{font-size:35px;line-height:1.12;letter-spacing:-1.4px;margin:12px auto 26px;max-width:360px;color:#1d1d1f}.auth-intro{font-size:14px;line-height:1.7;color:#6e6e73;margin:-9px 0 26px}.auth-card form{display:grid;gap:17px;text-align:left}.auth-card .field{gap:8px;display:flex;flex-direction:column}.auth-card .field>span{font-size:12px;font-weight:650}.auth-card input{width:100%;min-height:50px;border:1px solid #d9d9de;background:#fff;border-radius:14px;padding:12px 15px;font-size:16px;outline:none;box-sizing:border-box}.auth-card input:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff18}.auth-card .btn{min-height:49px;width:100%;justify-content:center;font-size:14px}.auth-card small{color:#6e6e73;line-height:1.6;font-size:11px}.auth-footnote{font-size:11px;color:#86868b;line-height:1.7;margin:24px auto 0;max-width:330px}.auth-local-link{display:block;font-size:12px;color:#007aff;margin-top:23px}.sync-form-error{color:#d12b25;font-size:12px;line-height:1.6;margin:0}.sync-form-error:empty{display:none}.auth-loader{width:24px;height:24px;border:2px solid #dce7f6;border-top-color:#007aff;border-radius:50%;margin:40px auto;animation:sync-spin 1s linear infinite}
.sync-account-controls{display:flex;align-items:center;gap:16px}.sync-live{display:flex;gap:7px;align-items:center;font-size:10px;color:#86868b;white-space:nowrap}.sync-live i,.sync-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ee9a23;flex:none}.sync-live.online i,.sync-dot.online{background:#30b46e}.sync-dot{margin-right:6px}.sync-user-button{border:0;background:#f5f5f7;color:#1d1d1f;font-size:11px;font-weight:650;padding:9px 12px;border-radius:12px;cursor:pointer}.sync-user-button span{color:#86868b;margin-left:5px}.sync-saving #modal-root .modal,.sync-saving #content{pointer-events:none;opacity:.78}.sync-saving #modal-root button[type=submit]{cursor:wait}.sync-saving .sync-live i{animation:sync-spin 1s linear infinite;border:2px solid #d6e5ff;border-top-color:#007aff;background:transparent;width:9px;height:9px}
.sync-accounts-modal{max-width:650px!important}.sync-accounts-modal .modal-body{padding-top:12px}.sync-accounts-modal h3{font-size:17px;letter-spacing:-.4px;margin:0 0 10px}.sync-accounts-modal p{font-size:12px;line-height:1.7;color:#6e6e73}.sync-share{background:#f5f8fd;padding:21px;border-radius:20px}.sync-share-links{display:flex;flex-direction:column;gap:7px;margin:17px 0}.sync-share-links a{font-size:12px;color:#007aff;word-break:break-all}.sync-share small,.sync-new-account small{font-size:10px;line-height:1.7;color:#86868b}.sync-account-list{margin:20px 0}.sync-account-row{display:flex;align-items:center;gap:11px;padding:16px 0;border-bottom:1px solid #efeff2}.sync-account-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e8f1ff;color:#007aff;font-size:13px;font-weight:650;flex:none}.sync-account-name{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}.sync-account-name strong{font-size:12px}.sync-account-name small{color:#86868b;font-size:10px;overflow-wrap:anywhere}.sync-account-row .text-link,.sync-toggle{font-size:10px}.sync-toggle{background:#f5f5f7;border:0;border-radius:9px;padding:8px;color:#6e6e73;cursor:pointer}.sync-new-account{border:1px solid #e8e8ed;border-radius:17px;padding:18px;margin-top:20px}.sync-new-account summary{display:flex;justify-content:space-between;font-size:12px;font-weight:650;cursor:pointer;list-style:none}.sync-new-account summary span{color:#007aff}.sync-new-account form{display:grid;gap:17px;margin-top:24px}.sync-accounts-modal form .field{display:flex;flex-direction:column;gap:8px}.sync-accounts-modal form .field>span{font-size:11px;font-weight:600}.sync-accounts-modal form input,.sync-accounts-modal form select{font-family:inherit;font-size:14px;border:1px solid #d9d9de;border-radius:12px;padding:12px;width:100%;background:#fff;box-sizing:border-box}.sync-account-footer{display:flex;justify-content:space-between;gap:18px;padding-top:25px;margin-top:24px;border-top:1px solid #efeff2}.sync-migrate{margin-top:22px;width:100%;font-size:11px}.sync-profile-name{margin-top:0!important;margin-bottom:24px!important}.sync-local-banner{background:#fff2d8;border:1px solid #f0d9a6;border-radius:13px;color:#8a5b00;padding:12px 17px;font-size:11px;margin-bottom:20px}.sync-conflict-note{position:sticky;top:0;z-index:8;margin:0;padding:12px 18px;background:#fff3db;color:#885a00;font-size:12px;line-height:1.5}
body[data-role=manager] .restaurant-switch,body[data-role=manager] #settings-nav,body[data-role=manager] #export-icon,body[data-role=manager] .profile-avatar{display:none!important}body[data-role=manager] .manager-view-picker{display:none!important}
@keyframes sync-spin{to{transform:rotate(360deg)}}@keyframes auth-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:680px){.auth-shell{padding:26px 25px}.auth-card h1{font-size:32px}.auth-orb{margin-top:29px}.sync-live span{display:none}.sync-account-controls{gap:10px}.sync-user-button{font-size:10px;padding:8px 10px}.sync-account-row{flex-wrap:wrap}.sync-account-row .text-link{margin-left:47px}.sync-account-name{flex-basis:65%}.sync-share{padding:18px}.sync-account-footer .text-link{font-size:11px}.sync-accounts-modal .modal-body{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.auth-card,.auth-loader,.sync-saving .sync-live i{animation:none}}

#sync-confirmation-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 28px}.sync-conflict-note .text-link{margin-left:12px;font-size:11px;color:#77510c;white-space:nowrap}

.sync-saving .sidebar,.sync-saving .topbar,.sync-saving .mobile-nav{pointer-events:none}
