.boot-shell,.auth-shell{min-height:100vh;background:radial-gradient(circle at 50% 0,#e9f1ff 0,transparent 42%),#f5f8fc;color:#1d2d45}.boot-shell{display:grid;place-items:center;padding:32px}.boot-shell[hidden]{display:none!important}.boot-card{display:flex;flex-direction:column;align-items:center;gap:20px;color:#506078}.boot-card>strong{font-size:14px}.boot-spinner{width:28px;height:28px;border:3px solid #cddcf1;border-top-color:#2467db;border-radius:50%;animation:boot-spin .8s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}
.auth-shell{display:grid;place-items:center;align-content:center;gap:24px;padding:32px}
.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand .brand-mark{width:48px;height:48px}.auth-brand .brand-wordmark{font-size:26px;font-weight:750;letter-spacing:-1px}.auth-brand .brand-wordmark>span{color:#2467db}.auth-brand small{display:block;margin-top:2px;color:#748091;font-size:9px;font-weight:700;letter-spacing:2.2px}
.auth-card{width:min(480px,calc(100vw - 32px));padding:34px;border:1px solid #dfe7f1;border-radius:16px;background:#fff;box-shadow:0 22px 60px #1d2d4517}.auth-card h1{font-size:30px}.auth-description{margin:8px 0 24px;color:#657080;font-size:14px;line-height:1.55}.auth-card .form-field{margin:16px 0}.auth-card .form-field input{min-height:46px}.auth-submit{width:100%;min-height:46px;margin-top:8px;font-size:14px}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.auth-actions:has(>button:only-child){justify-content:center}.auth-actions .text-button{color:#2467db;font-size:13px;font-weight:650}.auth-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-fields-row .form-field{min-width:0}.auth-footnote{margin:0;color:#748091;font-size:12px}.session-user{max-width:210px;overflow:hidden;color:#34445b;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.logout-button{color:#657080}.client-access-badge{display:block;margin-top:7px;color:#657080;font-size:12px;font-weight:500}.client-access-badge.ready{color:#08795b}.client-registration-dialog{width:560px}.client-registration-dialog .form-field{margin:13px 0}.client-registration-dialog .form-field input{min-height:46px}.client-registration-dialog .modal-heading{margin-bottom:18px}
.moysklad-account-dialog{width:570px}.moysklad-account-dialog .modal-heading{margin-bottom:18px}.moysklad-account-dialog .form-field{margin:18px 0 8px}.moysklad-account-dialog input[type=password]{min-height:46px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.moysklad-account-instruction{padding:17px 18px;border:1px solid #d6e4fa;border-radius:10px;background:#f4f8ff;color:#425a7c}.moysklad-account-instruction strong{display:block;color:#243b5d;font-size:14px}.moysklad-account-instruction ol{margin:9px 0 14px;padding-left:21px;font-size:13px;line-height:1.65}.moysklad-account-instruction .button{width:max-content;background:#fff;color:#2059b8}.moysklad-account-dialog .field-help{margin:0 0 8px}.moysklad-account-dialog .connection-buttons{justify-content:flex-end;margin-top:18px}
@media(prefers-reduced-motion:reduce){.boot-spinner{animation:none;border-color:#cddcf1;border-top-color:#2467db}}
@media(max-width:700px){.boot-shell,.auth-shell{padding:18px}.auth-card{padding:25px 21px}.auth-fields-row{grid-template-columns:1fr;gap:0}.session-user{display:none}.logout-button{font-size:12px}.topbar-right .api-indicator{display:none}}
