.auth-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 15%,rgba(57,121,232,.22),transparent 34%),linear-gradient(145deg,#0d1b34,#142b50)}
.auth-gate.hidden{display:none}.auth-card{width:min(440px,100%);padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.35)}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand img{width:48px;height:48px;border-radius:13px}.auth-brand strong{display:block;font-size:19px}.auth-brand span{display:block;color:#64748b;font-size:12px}.auth-card h1{margin:24px 0 5px;font-size:25px}.auth-card>p{margin:0 0 20px;color:#64748b}.auth-form{display:grid;gap:13px}.auth-field{display:grid;gap:6px}.auth-field span{font-size:12px;font-weight:700;color:#34455d}.auth-field input,.auth-field select{width:100%;min-height:45px;padding:10px 12px;border:1px solid #cbd7e6;border-radius:10px;background:#fff;color:#14233a;font:inherit}.auth-field input:focus,.auth-field select:focus{outline:3px solid rgba(57,121,232,.14);border-color:#3979e8}.auth-submit{min-height:46px;border:0;border-radius:10px;background:#185adb;color:#fff;font-weight:800}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-feedback{min-height:20px;color:#b42335;font-size:12px}.auth-demo-link{display:flex;justify-content:center;margin-top:15px;color:#185adb;font-size:12px;font-weight:700;text-decoration:none}.auth-close{position:absolute;right:18px;top:16px;border:1px solid #cfdae8;border-radius:50%;width:34px;height:34px;background:#fff;color:#38506f;font-size:18px}.auth-gate.required .auth-close{display:none}
.auth-account{position:relative}.auth-account-button{display:flex;align-items:center;gap:8px;max-width:190px;padding:6px 9px;border:1px solid #d4deeb;border-radius:10px;background:#fff;color:#233650}.auth-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e8f0ff;color:#185adb;font-size:11px;font-weight:900}.auth-account-copy{min-width:0;text-align:left}.auth-account-copy b,.auth-account-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-account-copy b{font-size:11px}.auth-account-copy small{color:#6d7d93;font-size:9px}.auth-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:230px;padding:7px;border:1px solid #d6e0ed;border-radius:12px;background:#fff;box-shadow:0 20px 45px rgba(16,33,63,.2)}.auth-menu.hidden{display:none}.auth-menu button,.auth-menu a{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#233650;text-align:left;text-decoration:none;font:inherit;font-size:12px}.auth-menu button:hover,.auth-menu a:hover{background:#eef4ff}.auth-menu .auth-logout{color:#ad2b3a}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;padding:10px 13px;border:1px solid #efc16c;border-radius:10px;background:#fff7e7;color:#734609;font-size:12px}.demo-banner.hidden{display:none}.demo-banner a{font-weight:800;color:#185adb;text-decoration:none}.demo-readonly .request-create-modal,.demo-readonly .contract-edit-only{display:none!important}
.sidebar-auth{display:none}.mobile-auth-guest,.mobile-profile{border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.065);overflow:hidden}.mobile-auth-guest{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px}.mobile-auth-icon,.mobile-profile-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#edf4ff;color:#185adb;font-weight:900}.mobile-auth-guest b,.mobile-auth-guest small,.mobile-profile-head b,.mobile-profile-head small,.mobile-profile-head span{display:block}.mobile-auth-guest b{color:#fff;font-size:13px}.mobile-auth-guest small{margin-top:3px;color:#aebed5;font-size:10px;line-height:1.4}.mobile-auth-login{grid-column:1/-1;width:100%;min-height:42px;border:1px solid #8ab4ff;border-radius:9px;background:#3979e8;color:#fff;font-weight:800}.mobile-profile-head{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px}.mobile-profile-head>div{min-width:0}.mobile-profile-head b{overflow:hidden;color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-head small{overflow:hidden;margin-top:1px;color:#aebed5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-head span{margin-top:5px;color:#8eb9ff;font-size:10px;font-weight:700}.mobile-profile-actions{border-top:1px solid rgba(255,255,255,.12);padding:5px}.mobile-profile-actions button,.mobile-profile-actions a{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:#dce8fa;text-align:left;text-decoration:none;font:inherit;font-size:11px}.mobile-profile-actions button:hover,.mobile-profile-actions a:hover{background:rgba(255,255,255,.09);color:#fff}.mobile-profile-actions span{color:#7fa6df;font-size:18px;line-height:1}.mobile-profile-actions .mobile-profile-logout{color:#ffb5b5}
.auth-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(8,20,40,.58)}.auth-modal.hidden{display:none}.auth-modal-box{width:min(900px,100%);max-height:min(780px,92vh);overflow:auto;border-radius:17px;background:#f5f8fc;box-shadow:0 30px 80px rgba(0,0,0,.32)}.auth-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #dce4ef;background:#fff}.auth-modal-head h2{margin:0;font-size:18px}.auth-modal-close{border:1px solid #d1dbe8;border-radius:9px;background:#fff;width:36px;height:36px;color:#9b2635;font-size:20px}.auth-modal-body{padding:18px}.auth-add-user{display:grid;grid-template-columns:1fr 1fr 1fr 150px auto;gap:9px;align-items:end;padding:14px;border:1px solid #d9e3ef;border-radius:12px;background:#fff}.auth-add-user .auth-field span{font-size:10px}.auth-users{display:grid;gap:9px;margin-top:14px}.auth-user-row{display:grid;grid-template-columns:minmax(180px,1fr) 160px auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #d9e3ef;border-radius:12px;background:#fff}.auth-user-row b,.auth-user-row small{display:block}.auth-user-row small{margin-top:2px;color:#6b7d94}.auth-primary-admin{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#fff3d7;color:#885409;font-size:9px;vertical-align:1px}.auth-user-controls{display:flex;gap:7px;justify-content:flex-end}.auth-user-controls button{padding:7px 9px;border:1px solid #cfdae8;border-radius:8px;background:#fff;color:#29415f;font-size:11px}.auth-user-controls button.danger{color:#a42636}.auth-user-controls button:disabled{opacity:.55;cursor:not-allowed}.auth-empty{padding:30px;text-align:center;color:#687b93}.auth-audit{margin-top:18px}.auth-audit summary{cursor:pointer;color:#284b7c;font-weight:800}.auth-audit-list{display:grid;gap:6px;margin-top:9px}.auth-audit-item{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:#fff;color:#52667f;font-size:11px}
@media(max-width:900px){.auth-account-copy{display:none}.auth-add-user{grid-template-columns:1fr 1fr}.auth-add-user button{min-height:44px}.auth-user-row{grid-template-columns:1fr}.auth-user-controls{justify-content:flex-start}}
@media(max-width:700px){.auth-gate{padding:10px}.auth-card{padding:22px 17px}.auth-card h1{font-size:22px}#authAccount{display:none}.sidebar-auth{display:block}.auth-modal{padding:0}.auth-modal-box{width:100%;height:100%;max-height:none;border-radius:0}.auth-add-user{grid-template-columns:1fr}.auth-user-controls{display:grid;grid-template-columns:1fr 1fr}.auth-user-controls button{min-height:40px}.demo-banner{align-items:flex-start;flex-direction:column}}
.auth-required-password{width:min(520px,100%)}.auth-required-password .auth-modal-body{display:grid;gap:14px}.auth-required-password .auth-modal-body>p{margin:0 0 3px;color:#566a84;font-size:13px}.auth-required-password .auth-field{margin:0}
.demo-readonly #requestAdd,.demo-readonly #addInternalContractBtn,.demo-readonly .import-procurement-trigger,.demo-readonly [data-confirm-request-cpv],.demo-readonly [data-edit-request],.demo-readonly [data-delete-request],.demo-readonly [data-plan-request-group],.demo-readonly [data-delete-request-group]{display:none!important}
.auth-pending .app{visibility:hidden}
.auth-help{margin:12px 0 0!important;padding:10px 12px;border-radius:10px;background:#f5f8fc;color:#53657c!important;font-size:12px;line-height:1.45}
.auth-settings-box{max-width:560px}
.auth-audit-item span small{display:block;margin-top:3px;color:#73839a;font-size:11px}
.auth-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px;border:1px solid #dbe5f1;border-radius:12px;background:#f8fbff}.auth-toggle+ .auth-toggle{margin-top:10px}.auth-toggle b,.auth-toggle small{display:block}.auth-toggle small{margin-top:3px;color:#64748b}.auth-toggle input{width:20px;height:20px;accent-color:#1d63dc}.auth-favorite-count{display:flex;align-items:center;gap:12px;margin:14px 0;padding:13px 15px;border-radius:12px;background:#fff8e8;color:#6f4a00}.auth-favorite-count b{font-size:24px;color:#a05a00}.favorite-tender.active{border-color:#e6a524;background:#fff7d6;color:#855000}
