:root{
  font-family:Inter,Arial,sans-serif;
  color:#17191c;
  background:#f4f5f6;
}
*{box-sizing:border-box}
body{margin:0}
.owner-boot-loader{position:fixed;inset:0;z-index:99999;display:grid;place-content:center;justify-items:center;gap:14px;background:#f4f5f6;color:#303640}
.owner-boot-loader b{font-size:13px;font-weight:750;color:#69717d}
.owner-spinner{width:42px;height:42px;border:4px solid #e2e5e9;border-top-color:#ffc515;border-radius:50%;animation:owner-spin .75s linear infinite}
@keyframes owner-spin{to{transform:rotate(360deg)}}
button,input,select{font:inherit}
.hidden{display:none!important}
.login{position:fixed;inset:0;display:grid;place-items:center;background:#f3f4f5}
.login-card{width:min(420px,calc(100vw - 32px));padding:34px;background:#fff;border:1px solid #dfe3e8;border-radius:10px;box-shadow:0 18px 45px #0002;display:grid;gap:14px}
.login-card img{width:64px;border-radius:10px}
.login-card h1{margin:3px 0 0}
.login-card p{margin:0;color:#777}
.login-card label{font-size:13px;color:#666}
.login-card input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #cfd6df;border-radius:7px}
.login-card button,.primary{border:1px solid #17191c;background:#17191c;color:#fff;padding:12px 16px;border-radius:7px;font-weight:800;cursor:pointer}
.primary:hover{background:#2b2f36;border-color:#2b2f36}
.link-button{background:transparent!important;color:#4b5563!important;padding:6px!important;font-size:13px;text-decoration:underline;box-shadow:none}
.error{color:#bc3030;min-height:18px}
.error.success{color:#168447}
.public-offer-card{max-width:980px}
.public-offer-label{display:grid;gap:8px;font-weight:700;color:#303642}
.public-offer-label textarea{width:100%;min-height:520px;resize:vertical;padding:18px;border:1px solid #d9dee7;border-radius:14px;background:#fff;color:#17191d;font:14px/1.55 Inter,Arial,sans-serif;box-sizing:border-box}
.public-offer-label textarea:focus{outline:2px solid rgba(255,184,0,.25);border-color:#ffb800}
.offer-save-status{margin-right:auto;font-size:13px;font-weight:700}
.offer-save-status.success{color:#168447}
.offer-save-status.error-text{color:#bc3030}
.app{display:flex;min-height:100vh}
aside{position:fixed;inset:0 auto 0 0;width:250px;background:#17191c;color:#fff;padding:25px 18px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:11px;font-size:20px;margin-bottom:35px}
.brand img{width:42px;border-radius:8px}
.brand-copy{display:grid;gap:2px;line-height:1.05}
.brand-copy b{font-size:20px}
.brand-copy small{font-size:12px;color:#aeb4bd;font-weight:800;letter-spacing:.02em}
nav{display:flex;flex:1;flex-direction:column;gap:8px}
nav button,nav a{padding:13px;border:0;border-radius:7px;text-align:left;background:transparent;color:#aaa;text-decoration:none}
nav .active{background:#2b2f36;color:#fff}
nav [data-owner-page="cabinet"]{margin-top:auto}
.account{margin-top:auto;border-top:1px solid #333;padding:18px 8px 0;display:grid;gap:5px}
.account span{color:#aaa;font-size:13px}
.account button{margin-top:8px;background:transparent;border:1px solid #555;color:#ddd;padding:9px;border-radius:7px}
main{margin-left:250px;padding:35px 42px;width:calc(100% - 250px)}
header{display:flex;align-items:center;justify-content:space-between;gap:16px}
h1{margin:0;font-size:31px}
header p{color:#777}
.card{background:#fff;padding:0;border-radius:8px;border:1px solid #dfe3e8;box-shadow:none}
.dispatcher-list{display:grid;gap:9px;margin-top:22px}
.card-head{display:flex;justify-content:space-between;gap:10px}
.avatar{width:38px;height:38px;background:#eef1f5;border:1px solid #dfe3e8;border-radius:7px;display:grid;place-items:center;font-weight:900;color:#17191c}
.identity{display:flex;gap:11px}
.identity b,.identity small{display:block}
.identity small{color:#777;margin-top:3px}
.identity b{font-size:16px}
.count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#f3f5f7;border:1px solid #dfe3e8;border-radius:6px;padding:7px 10px;height:max-content;font-weight:800;font-size:12px}
.count.ok{background:#edf7f0;color:#146c37;border-color:#cfe8d7}
.count.off{background:#f9eeee;color:#a01f1f;border-color:#edcdcd}
.access{background:transparent;border:0;border-radius:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(148px,1fr));gap:8px;min-width:min(650px,52vw);align-items:stretch}
.access div{background:#fbfcfd;border:1px solid #e6eaf0;border-radius:6px;padding:8px 10px;min-height:64px}
.access small,.access b{display:block}
.access small{color:#777;font-size:12px}
.access b{margin-top:3px;word-break:break-word}
.access span{display:block;margin-top:3px;color:#6b7280;font-size:12px}
.dispatcher-card{border:1px solid #dfe3e8;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border-radius:7px;box-shadow:none}
.dispatcher-card:hover{border-color:#cbd3dc;background:#fcfcfd;box-shadow:0 6px 16px #1118270a}
.dispatcher-card.disabled{opacity:.72;background:#fbfbfb}
.dispatcher-card.private-admin{border-color:#edc949;background:#fffdf4}
.dispatcher-main{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(460px,1.8fr) auto auto;align-items:center;gap:12px;min-width:0}
.dispatcher-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dispatcher-actions button{border-radius:7px;padding:9px 13px;font-weight:800;cursor:pointer}
.dispatcher-actions .dispatcher-edit{background:#17191c;border:1px solid #17191c;color:#fff;box-shadow:none;min-width:104px}
.dispatcher-actions .dispatcher-edit:hover{background:#2b2f36;border-color:#2b2f36}
.admin-name{display:grid;gap:3px;text-align:left;background:#fff;border:1px solid transparent;border-radius:8px;padding:6px 8px;color:#17191c;cursor:pointer;font:inherit}
.admin-name:hover{border-color:#cfd6df;background:#fafbfc}
.admin-name:hover b{text-decoration:underline;text-underline-offset:3px}
.private-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#fff4bf;color:#7a5a00;border:1px solid #f2d36b;border-radius:6px;padding:7px 9px;font-weight:800;font-size:12px}
#adminDetailsDialog,.admin-details-dialog{width:min(860px,94vw);max-height:86vh}
.admin-details-dialog h2{margin-top:0}
.admin-details-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-top:18px}
.admin-details-grid div{border:1px solid #dfe3e8;border-radius:8px;background:#fafbfc;padding:14px;min-height:78px}
.admin-details-grid small{display:block;color:#6b7280;font-weight:800;text-transform:uppercase;font-size:11px}
.admin-details-grid b{display:block;margin-top:6px;word-break:break-word}
.secondary{background:#fff;border:1px solid #cfd6df;color:#242a31}
.secondary:hover{background:#f3f5f7;border-color:#b9c3cf}
.danger{background:#b91c1c;border:1px solid #991b1b;color:#fff}
.danger:hover{background:#991b1b}
.drivers{display:flex;flex-wrap:wrap;gap:6px}
.driver{background:#edf1f7;padding:7px 9px;border-radius:9px;font-size:12px}
.owner-analytics-panel{display:grid;gap:16px;margin-top:24px}
.analytics-filter{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:14px}
.analytics-filter label{font-size:12px;color:#66717d;font-weight:800;text-transform:uppercase}
.analytics-filter input{display:block;margin-top:6px;padding:10px 12px;border:1px solid #cfd6df;border-radius:7px}
.analytics-loading{background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:18px;color:#66717d}
.analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}
.analytics-grid article{background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:16px}
.analytics-grid small{display:block;color:#6b7280;font-weight:800;text-transform:uppercase;font-size:11px}
.analytics-grid b{display:block;margin-top:7px;font-size:28px}
.analytics-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #dfe3e8;border-radius:8px;overflow:hidden}
.analytics-table th,.analytics-table td{padding:13px 15px;border-bottom:1px solid #edf0f3;text-align:left}
.analytics-table th{font-size:12px;color:#6b7280;text-transform:uppercase;background:#fafbfc}
.analytics-table td span{display:block;color:#6b7280;font-size:12px;margin-top:3px}
.analytics-table tr:last-child td{border-bottom:0}
dialog{width:min(650px,92vw);border:1px solid #dfe3e8;border-radius:10px;padding:28px;box-shadow:0 18px 45px #0003}
dialog::backdrop{background:#0006}
#ownerResetDialog{width:min(430px,calc(100vw - 28px));border:1px solid #e4e7eb;border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(12,18,28,.24)}
#ownerResetDialog::backdrop{background:rgba(17,24,39,.58);backdrop-filter:blur(3px)}
#ownerResetDialog h2{margin:0 38px 6px 0;font-size:21px;line-height:27px;letter-spacing:-.02em}
#ownerResetDialog p{margin:0 0 16px;color:#69717d;font-size:13px;line-height:19px}
#ownerResetDialog form{display:grid;gap:0}
#ownerResetDialog .form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:11px!important;width:100%!important}
#ownerResetDialog .form-grid label{display:block!important;width:100%!important;min-width:0!important;margin:0!important;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5f6873}
#ownerResetDialog .form-grid .reset-code-field.hidden,#ownerResetDialog .form-grid .reset-password-field.hidden{display:none!important}
#ownerResetDialog .form-grid input{display:block!important;width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;margin-top:6px!important;padding:0 12px!important;border:1px solid #d6dbe2!important;border-radius:9px!important;background:#fbfcfd!important;color:#17191c!important;font-size:14px!important;outline:none!important}
#ownerResetDialog .form-grid input:focus{border-color:#e9ae00!important;background:#fff!important;box-shadow:0 0 0 3px rgba(255,197,21,.16)!important}
#ownerResetDialog .close{top:15px!important;right:15px!important;width:30px!important;height:30px!important;border:1px solid #dde2e8!important;border-radius:8px!important;background:#fff!important;font-size:19px!important;color:#343a43!important}
#ownerResetDialog .actions{display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:8px!important;margin-top:15px!important}
#ownerResetDialog .actions button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:42px!important;padding:0 12px!important;border-radius:9px!important;font-size:13px!important;line-height:16px!important;text-align:center!important}
#ownerResetDialog .cancel{border:1px solid #d9dee5!important;background:#fff!important;color:#343a43!important}
#ownerResetDialog .primary{border-color:#ffc515!important;background:#ffc515!important;color:#171717!important}
#ownerResetError{min-height:0;padding-top:8px;font-size:12px;line-height:16px;font-weight:700}
.close{float:right;border:0;background:none;font-size:25px}
.admin-data-box,.payment-settings-box{display:grid;gap:12px;margin:14px 0 18px;padding:16px;border-radius:10px;background:#fff;border:1px solid #dfe3e8}
.payment-settings-box{border:2px solid #ffd21c;background:#fffbed}
.admin-data-box h3,.payment-settings-box h3{margin:0;font-size:18px}
.owner-payments-panel{display:grid;gap:14px;margin-top:24px}
.owner-cabinet-panel{display:grid;gap:14px;margin-top:24px}
.owner-settings-panel{display:grid;gap:14px;margin-top:24px}
.director-settings-card{max-width:980px;padding:22px;background:#fff;border:1px solid #dfe3e8;border-radius:12px}
.director-settings-card h2{margin:0 0 5px;font-size:22px}.director-settings-card>p{margin:0 0 18px;color:#69717d}
.director-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.director-settings-grid label{font-size:12px;font-weight:750;color:#5f6873}.director-settings-grid input,.director-settings-grid select{display:block;width:100%;min-height:43px;margin-top:6px;padding:0 12px;border:1px solid #d5dbe3;border-radius:8px;background:#fff}.director-settings-grid .wide{grid-column:1/-1}
.director-settings-actions{display:flex;justify-content:flex-end;margin-top:18px}.director-settings-actions button{min-width:180px}
@media(max-width:760px){.director-settings-grid{grid-template-columns:1fr}.director-settings-grid .wide{grid-column:auto}.director-settings-actions button{width:100%}}
.cabinet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:18px}
.cabinet-head h2{margin:0 0 5px}
.cabinet-head p{margin:0;color:#66717d}
.director-grid{display:grid;gap:12px}
.director-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:16px;box-shadow:0 8px 22px #1118270a}
.director-card.disabled{opacity:.72;background:#fbfbfb}
.director-card-main{display:flex;align-items:center;gap:12px;min-width:0}
.director-card small{display:block;color:#66717d;font-weight:800;text-transform:uppercase;font-size:11px}
.director-card h3{margin:4px 0 2px}
.director-card p{margin:0;color:#66717d;word-break:break-word}
.director-card em{display:block;margin-top:6px;color:#17191c;font-style:normal;font-size:13px;font-weight:800}
.payment-mode-grid{display:grid;gap:12px}
.payment-admin-card{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) minmax(190px,.8fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:16px}
.payment-admin-card small{display:block;color:#66717d;font-weight:800;text-transform:uppercase;font-size:11px}
.payment-admin-card h3{margin:4px 0 3px}
.payment-admin-card p{margin:0;color:#66717d}
.payment-admin-card b,.payment-admin-card strong{display:block;margin-top:5px;font-size:17px}
.payment-admin-card span{display:block;margin-top:4px;color:#66717d}
.balance-director-panel{margin-top:16px;background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:18px}
.balance-director-panel h2{margin:0 0 4px;font-size:22px}
.balance-director-panel p{margin:0 0 16px;color:#66717d}
.balance-director-list{display:grid;gap:14px}
.balance-admin-group{display:grid;gap:8px}
.balance-admin-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff8d8;border:1px solid #ffe08a;border-radius:9px}
.balance-admin-title small{display:block;color:#66717d;font-size:11px;font-weight:800;text-transform:uppercase}
.balance-admin-title b{display:block;margin-top:3px}
.balance-admin-title span{font-weight:850;color:#17191c}
.balance-driver-row{display:grid;grid-template-columns:minmax(220px,1.4fr) 120px minmax(170px,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e6e9ee;border-radius:9px;background:#fafbfc}
.balance-driver-row b{display:block}
.balance-driver-row span,.balance-mini-history{display:block;color:#66717d;font-size:13px}
.balance-driver-row strong{font-size:20px}
.balance-row-actions{display:flex;gap:7px}
.balance-row-actions button{width:34px;height:34px;border:0;border-radius:9px;font-size:20px;font-weight:950;cursor:pointer}
.balance-plus{background:#ffd21c;color:#17191c}
.balance-minus{background:#fff0f0;color:#b83c3c;border:1px solid #f0caca!important}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid label{font-size:13px;color:#666}
.form-grid input,.form-grid select{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #cfd6df;border-radius:7px;background:#fff}
.check-field{display:flex!important;align-items:center;gap:9px;margin-top:25px;color:#17191c!important;font-weight:800}
.check-field input{width:18px!important;height:18px;margin:0!important}
.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.edit-actions{align-items:center;background:#f7f8fa;border:1px solid #dfe3e8;border-radius:8px;padding:12px;margin-top:22px}
.edit-actions .action-spacer{flex:1 1 auto}
.edit-actions .danger,.edit-actions .secondary,.edit-actions .primary,.edit-actions .cancel{display:inline-flex;align-items:center;justify-content:center}
.edit-actions button{min-height:42px;border-radius:7px!important}
.edit-actions .dispatcher-dialog-delete{background:#b91c1c;color:#fff;border:1px solid #991b1b;box-shadow:none}
.edit-actions .dispatcher-dialog-toggle{background:#fff;color:#17191c;border:1px solid #cfd6df}
.edit-actions .primary{box-shadow:none}
.cancel{border:1px solid #ddd;background:#fff;border-radius:10px;padding:11px 15px}
@media(max-width:800px){
  aside{width:78px}
  .brand-copy,nav,.account span,.account b{display:none}
  main{margin-left:78px;width:calc(100% - 78px);padding:24px}
  header{align-items:flex-start;flex-direction:column}
  .dispatcher-card{grid-template-columns:1fr}
  .dispatcher-main{align-items:stretch;grid-template-columns:1fr}
  .director-card{grid-template-columns:1fr}
  .cabinet-head{align-items:stretch;flex-direction:column}
  .payment-admin-card{grid-template-columns:1fr}
  .balance-driver-row{grid-template-columns:1fr}
  .dispatcher-actions,.edit-actions{justify-content:stretch}
  .dispatcher-actions button,.edit-actions button{flex:1 1 auto}
  .access{grid-template-columns:1fr;min-width:0}
  .admin-details-grid{grid-template-columns:1fr}
  .analytics-filter{display:grid;grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:1366px) and (min-width:801px){
  aside{width:220px;padding:18px 14px}
  main{margin-left:220px;width:calc(100% - 220px);padding:22px 26px}
  .brand{margin-bottom:22px;font-size:18px}
  .brand-copy b{font-size:18px}
  nav button,nav a{padding:10px 11px;font-size:14px}
  h1{font-size:25px}
  header p{margin:6px 0 0;font-size:13px}
  .dispatcher-list{gap:8px;margin-top:16px}
  .dispatcher-card{padding:9px 11px}
  .dispatcher-main{grid-template-columns:minmax(180px,.9fr) minmax(360px,1.4fr) auto auto;gap:9px}
  .access{min-width:min(560px,50vw);gap:6px}
  .access div{min-height:56px;padding:7px 8px}
  .dispatcher-actions button{padding:8px 10px}
  .card,.cabinet-head,.director-card,.payment-admin-card,.balance-director-panel{border-radius:7px}
  .analytics-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px}
  .analytics-grid article{padding:13px}
  .analytics-grid b{font-size:24px}
  .analytics-table th,.analytics-table td{padding:10px 12px}
  .payment-admin-card{grid-template-columns:minmax(190px,1.1fr) minmax(190px,1fr) minmax(160px,.8fr) auto;padding:12px;gap:10px}
  .balance-driver-row{grid-template-columns:minmax(190px,1.3fr) 110px minmax(150px,1fr) auto;padding:10px 12px}
  dialog{max-height:90vh;overflow:auto}
}
