*{box-sizing:border-box}
body.admin-page,body.auth-page{margin:0;background:#080808;color:#fff;font-family:Arial,sans-serif}
a{color:inherit}
.admin-wrapper{display:flex;min-height:100vh}
.admin-sidebar{width:280px;min-width:280px;background:#101010;border-right:1px solid #2b0505;padding:22px;position:sticky;top:0;height:100vh;overflow-y:auto}
.admin-logo{display:block;color:#ff1a1a;font-size:24px;font-weight:800;text-decoration:none;margin-bottom:24px}
.admin-nav{display:flex;flex-direction:column;gap:9px}
.admin-nav a{display:block;text-decoration:none;background:#171717;border:1px solid #242424;border-radius:12px;padding:12px 14px;color:#eee}
.admin-nav a:hover{background:#ff1a1a;border-color:#ff1a1a;color:#fff}
.admin-content{flex:1;padding:30px;overflow-x:hidden}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.admin-head h1{margin:0 0 6px;font-size:30px}
.admin-head p{margin:0;color:#aaa}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #333;background:#1a1a1a;color:#fff;border-radius:12px;padding:10px 14px;min-height:42px;text-decoration:none;cursor:pointer;font-size:14px}
.admin-btn:hover{border-color:#ff1a1a}
.admin-btn-primary{background:#ff1a1a;border-color:#ff1a1a}
.admin-btn-danger{background:#341111;border-color:#ff1a1a;color:#ffb3b3}
.admin-alert{padding:14px 16px;border-radius:12px;margin-bottom:16px}
.admin-alert-error{background:#2a1010;border:1px solid #ff1a1a;color:#ffb3b3}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:26px}
.admin-card{background:#111;border:1px solid #272727;border-radius:18px;padding:22px}
.admin-card span{display:block;color:#aaa;margin-bottom:10px}
.admin-card strong{font-size:34px;color:#ff1a1a}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.admin-module{background:#121212;border:1px solid #262626;border-radius:18px;padding:24px;text-decoration:none;font-size:18px}
.admin-module:hover{border-color:#ff1a1a}
.admin-table-wrap{width:100%;overflow-x:auto;background:#111;border:1px solid #242424;border-radius:18px;margin-bottom:24px}
.admin-table{width:100%;border-collapse:collapse;min-width:760px}
.admin-table th,.admin-table td{padding:13px 14px;border-bottom:1px solid #242424;text-align:left;vertical-align:middle}
.admin-table th{color:#aaa;font-weight:600;background:#151515}
.admin-table tr:hover td{background:#131313}
.admin-table input,.admin-table select{background:#1b1b1b;border:1px solid #333;color:#fff;border-radius:10px;padding:8px;width:100%}
.admin-form{display:flex;flex-direction:column;gap:14px}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-form label{display:flex;flex-direction:column;gap:7px;color:#aaa}
.admin-form label span{font-size:13px}
.admin-form input,.admin-form textarea,.admin-form select{width:100%;background:#191919;border:1px solid #333;color:#fff;border-radius:12px;padding:12px;outline:none}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:#ff1a1a}
.admin-form textarea{resize:vertical}
.admin-full{grid-column:1/-1}
.admin-check{flex-direction:row!important;align-items:center;color:#fff!important}
.admin-check input{width:auto!important}
.admin-modal{display:none;position:fixed;inset:0;z-index:10000}
.admin-modal.active{display:block}
.admin-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}
.admin-modal-box{position:relative;width:min(720px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#111;border:1px solid #ff1a1a;border-radius:20px;box-shadow:0 20px 80px rgba(0,0,0,.45)}
.admin-modal-large{width:min(980px,calc(100% - 30px))}
.admin-modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #282828;padding:18px 22px}
.admin-modal-head h2{margin:0}
.admin-modal-head button{border:0;background:#ff1a1a;color:#fff;border-radius:50%;width:38px;height:38px;font-size:26px;cursor:pointer}
.admin-modal-box .admin-form{padding:22px}
body.modal-open{overflow:hidden}
.admin-chart{background:#111;border:1px solid #242424;border-radius:18px;padding:18px;margin-bottom:24px}
.chart-row{display:grid;grid-template-columns:220px 1fr 60px;gap:12px;align-items:center;margin:10px 0}
.chart-row div,.mini-progress{height:12px;background:#262626;border-radius:999px;overflow:hidden}
.chart-row b,.mini-progress b{display:block;height:100%;background:#ff1a1a;border-radius:999px}
.chart-row em{font-style:normal;color:#aaa;text-align:right}
.mini-progress{width:120px;display:inline-block;margin-right:8px;vertical-align:middle}
.admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.admin-note{background:#111;border:1px dashed #444;border-radius:16px;padding:18px;color:#aaa}
.auth-box{width:min(420px,calc(100% - 30px));margin:10vh auto;background:#111;border:1px solid #333;border-radius:22px;padding:28px}
.auth-logo{display:block;color:#ff1a1a;text-decoration:none;font-size:24px;font-weight:800;text-align:center;margin-bottom:12px}
.auth-box h1{text-align:center}
.auth-links{display:flex;justify-content:space-between;margin-top:16px;color:#aaa}
@media(max-width:900px){.admin-wrapper{display:block}.admin-sidebar{width:100%;min-width:0;height:auto;position:relative}.admin-content{padding:18px}.admin-head{display:block}.admin-form-grid,.admin-columns{grid-template-columns:1fr}.chart-row{grid-template-columns:1fr}}

.site-admin-tools{position:fixed;left:18px;bottom:18px;z-index:9998;display:flex;gap:10px;flex-wrap:wrap}
.site-admin-toggle{border:0;background:#ff1a1a;color:#fff;border-radius:14px;padding:13px 18px;font-weight:800;cursor:pointer;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.live-admin-panel{position:fixed;right:-520px;top:0;width:min(520px,100vw);height:100vh;background:#080808;border-left:1px solid #ff1a1a;z-index:9999;transition:.25s ease;box-shadow:-20px 0 80px rgba(0,0,0,.55)}
.live-admin-panel.active{right:0}
.live-admin-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#111;border-bottom:1px solid #292929;color:#fff}
.live-admin-head button{width:38px;height:38px;border:0;border-radius:50%;background:#ff1a1a;color:#fff;font-size:24px;cursor:pointer}
.live-admin-panel iframe{width:100%;height:calc(100vh - 58px);border:0;background:#080808}
body.live-edit-mode [data-admin-block]{outline:1px dashed #ff1a1a!important;outline-offset:-2px;position:relative}
body.live-edit-mode [data-admin-block]::before{content:attr(data-admin-block);position:absolute;left:10px;top:10px;z-index:20;background:#ff1a1a;color:#fff;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:800;pointer-events:none}
.front-dynamic-block{margin:18px auto;padding:26px;border:1px solid #2a2a2a;border-radius:22px;background:#111;color:#fff;max-width:1180px;display:flex;gap:20px;align-items:center}
.front-dynamic-block img{max-width:220px;border-radius:16px}.front-dynamic-block h2{margin:0 0 10px;color:#ff1a1a}.front-dynamic-block a{display:inline-flex;margin-top:12px;background:#ff1a1a;color:#fff;text-decoration:none;border-radius:12px;padding:11px 16px}.custom-html-block{max-width:1180px;margin:18px auto;padding:24px;background:#111;border-radius:22px;color:#fff}.catalog-card span{position:absolute;left:14px;bottom:14px;color:#fff;font-weight:800;text-shadow:0 2px 8px #000}.catalog-card{position:relative}.auth-modal-box{max-width:430px;padding:24px}.auth-modal-box h2{margin:0 0 18px;color:#ff1a1a}.admin-table tr.no-worker td,.shift-no-worker{border:1px solid #ff1a1a!important;background:#2a0808!important}.shift-badge{display:inline-flex;border-radius:999px;padding:5px 9px;background:#202020;border:1px solid #333;margin:2px}.shift-night{border-color:#6e54ff;color:#c7bdff}.shift-no-worker{border-radius:999px;color:#ffb3b3}.upload-hint{color:#aaa;font-size:12px;margin-top:-8px}.admin-embedded .admin-sidebar{display:none}.admin-embedded .admin-wrapper{display:block}.admin-embedded .admin-content{padding:20px}.admin-embedded .admin-head{display:block}.admin-embedded .admin-head h1{font-size:25px}.admin-embedded .admin-module{padding:16px}.admin-embedded .admin-table{min-width:600px}


/* frontend live admin fixes */
body:not(.live-edit-mode) [data-admin-block]::before{display:none!important;content:none!important}
body.live-edit-mode [data-admin-block]{cursor:pointer}
body.live-edit-mode [data-admin-block]::after{content:'Открыть настройки';position:absolute;right:10px;top:10px;z-index:21;background:#111;border:1px solid #ff1a1a;color:#fff;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:800;pointer-events:none}
.live-admin-panel{right:-620px;width:min(620px,100vw)}
.profile-modal-card{background:#161616;border:1px solid #292929;border-radius:16px;padding:16px;margin-bottom:14px}.profile-modal-card p{margin:6px 0}
.catalog-card img,.news-card img,.logo img{object-fit:contain}.catalog-card img{width:100%;height:100%}.news-card img{width:100%;height:100%}.logo img{max-height:58px}
.admin-modal-box{margin-top:45px}.admin-embedded .admin-modal-box{margin-top:20px}
.admin-table img.admin-preview{width:82px;height:54px;object-fit:cover;border-radius:8px;border:1px solid #333;background:#0b0b0b}

/* modal dashboard upgrade */
.admin-stats-wide{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.admin-card em{display:block;margin-top:8px;color:#777;font-style:normal;font-size:13px}
.admin-module-button{appearance:none;text-align:left;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:10px;min-height:170px;width:100%}
.admin-module-button span{font-size:18px;font-weight:800;color:#fff}
.admin-module-button strong{font-size:42px;color:#ff1a1a;line-height:1}
.admin-module-button small{color:#ffb3b3;font-size:13px}
.admin-module-button em{color:#aaa;font-style:normal;font-size:14px;line-height:1.35}
.admin-module-button:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(0,0,0,.25)}
.admin-modal-full{width:min(1240px,calc(100% - 28px));height:calc(100vh - 28px);max-height:none;margin:14px auto;display:flex;flex-direction:column;overflow:hidden}
.admin-section-modal iframe{width:100%;height:100%;border:0;background:#080808;flex:1}
.admin-embedded .admin-content{min-height:100vh}.admin-embedded .admin-wrapper{min-height:100vh}
.admin-embedded .admin-modal.active{z-index:20000}
.admin-embedded .admin-modal-box{max-height:calc(100vh - 26px)}
@media(max-width:700px){.admin-modal-full{width:100%;height:100vh;margin:0;border-radius:0}.admin-module-button{min-height:140px}.admin-module-button strong{font-size:34px}}
.admin-alert{margin:0 0 16px;padding:13px 16px;border-radius:14px;border:1px solid #333;background:#111;color:#fff}.admin-alert-success{border-color:#146b2a;background:#07170b}.admin-alert-error{border-color:#ff1a1a;background:#240707}.admin-empty{padding:18px;color:#999;text-align:center;background:#0d0d0d;border:1px dashed #333;border-radius:14px}.admin-table td form{display:inline-flex;margin:0 0 0 8px}.admin-table td .admin-btn{margin:2px}.admin-form input,.admin-form select,.admin-form textarea,.admin-table select{background:#090909;border:1px solid #333;color:#fff;border-radius:10px;padding:10px}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:1px solid #ff1a1a;border-color:#ff1a1a}
