@font-face{font-family:Comfortaa;font-style:normal;font-weight:300;src:url('/assets/fonts/comfortaa-300.woff2') format('woff2')}
@font-face{font-family:Comfortaa;font-style:normal;font-weight:400;src:url('/assets/fonts/comfortaa-regular.woff2') format('woff2')}
@font-face{font-family:Comfortaa;font-style:normal;font-weight:500;src:url('/assets/fonts/comfortaa-500.woff2') format('woff2')}
@font-face{font-family:Comfortaa;font-style:normal;font-weight:600;src:url('/assets/fonts/comfortaa-600.woff2') format('woff2')}
@font-face{font-family:Comfortaa;font-style:normal;font-weight:700;src:url('/assets/fonts/comfortaa-700.woff2') format('woff2')}

:root{
  --cyan:#00a1e2;
  --blue:#4c7ff0;
  --blue-soft:#6087d7;
  --green:#28c76f;
  --teal:#52c5ca;
  --red:#cf262d;
  --ink:#1d1f23;
  --muted:#8a98ac;
  --line:#dee2e6;
  --field:#f0f2f5;
  --page:#f5f7f8;
  --white:#fff;
  --sidebar:250px;
  --topbar:68px;
  --shadow:0 0 30px rgb(206 206 206);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Comfortaa,Calibri,sans-serif;font-size:15px;line-height:1.5;color:#000;background:var(--page)}
button,input,select,textarea{font:inherit}
button,a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
a{color:#4e7fd7;text-decoration:none}
[hidden]{display:none!important}

.xp-container{display:flex;width:100%;min-height:100vh;overflow:hidden}
.xp-leftbar{position:fixed;z-index:20;inset:0 auto 0 0;width:var(--sidebar);height:100vh;background:#fff;box-shadow:0 0 30px rgba(200,200,200,.4)}
.xp-leftbar-wrapper{position:relative;height:100%;padding:0 0 10px;background:#fff}
.xp-logo{display:block;width:195px;height:100px;margin:0 auto;line-height:100px;text-align:center;overflow:visible}
.xp-logo img{display:block;width:195px;height:100px;object-fit:contain}
.xp-vertical-menu{height:calc(100vh - 160px);margin:0;padding:0;list-style:none;overflow:hidden auto;scrollbar-width:none}
.xp-vertical-menu::-webkit-scrollbar{display:none}
.menu-item{position:relative;margin:5px 0;padding-left:15px;list-style:none}
.menu-link{display:flex;align-items:center;gap:11px;width:235px;min-height:42.86px;padding:10px 20px;color:#8a98ac;border-radius:50px 0 0 50px;line-height:22.5px;white-space:nowrap}
.menu-link:hover{color:#00a1e2}
.menu-item.active>.menu-link,.menu-item.open>.menu-link{color:#fff;background:#00a1e2;box-shadow:0 8px 16px rgba(0,0,0,.15)}
.menu-link .menu-icon{width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px}
.menu-link svg,.top-icon svg,.button-icon svg,.mini-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.menu-link .menu-caret{margin-left:auto;font-size:18px;line-height:1;transform:rotate(0deg)}
.menu-item.open>.menu-link .menu-caret{transform:rotate(180deg)}
.submenu{display:none;margin:2px 0 5px;padding:0 0 0 50px;list-style:none}
.menu-item.open>.submenu{display:block}
.submenu a{display:block;padding:6px 0;color:#96a2b4;line-height:1.35}
.submenu a:hover,.submenu a.current{color:#5d83d8}
.sidebar-bottom{position:absolute;left:30px;right:16px;bottom:16px;color:#8a98ac;font-size:13px;background:#fff}
.sidebar-bottom>div{white-space:nowrap}
.sidebar-bottom a{color:#4e7fd7}
.sidebar-bottom small{display:block;margin-top:5px;color:#a5afbd;font-size:11px}

.xp-rightbar{position:relative;display:flex;flex-direction:column;width:calc(100% - var(--sidebar));min-height:100vh;margin-left:var(--sidebar);overflow-x:auto;background:var(--page)}
.xp-topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--topbar);padding:15px 30px;background:#fff}
.icon-button{border:0;background:transparent;color:#2d3237;cursor:pointer}
.menu-trigger{width:28px;height:32px;padding:4px 0}
.hamburger,.hamburger::before,.hamburger::after{display:block;width:20px;height:1.5px;background:#222;content:""}
.hamburger{position:relative}
.hamburger::before{position:absolute;top:-7px}
.hamburger::after{position:absolute;top:7px}
.topbar-actions{display:flex;align-items:center;gap:18px;height:38px}
.top-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:31px;padding:2px;border:0;background:transparent;color:#7f8f9f;cursor:pointer}
.notification span{position:absolute;top:-7px;right:-10px;display:flex;align-items:center;justify-content:center;min-width:23px;height:19px;padding:0 5px;border-radius:10px;background:#ff6669;color:#fff;font:10px/19px Calibri,sans-serif}
.account{display:flex;align-items:center;gap:9px;padding:0;border:0;background:transparent;color:#8a98ac;cursor:pointer}
.avatar{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;background:#40c9a2;color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.14);font-size:14px}
.chevron{margin-left:-4px;font-family:Calibri,sans-serif;font-size:18px}

.page-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 83px;min-width:1110px;padding:23px 30px 15px;background:var(--page)}
.page-title-wrap{display:flex;align-items:center;gap:12px;min-height:37px}
.page-title{margin:0;color:#272b30;font-size:23px;font-weight:500;line-height:1.25}
.page-title-play{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #9e83d5;border-radius:50%;color:#9e83d5;font-family:Calibri,sans-serif;font-size:10px}
.page-actions{display:flex;gap:8px;margin-left:auto}
.workflow-select{width:184px;height:38px;padding:6px 42px 6px 14px;border:1px solid #d7dadd;border-radius:5px;background:#fff;color:#252525;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8f9398 50%),linear-gradient(135deg,#8f9398 50%,transparent 50%);background-position:calc(100% - 15px) 16px,calc(100% - 10px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}

.xp-contentbar{position:relative;flex:1;min-width:1110px;margin:0 0 30px;padding:0 30px 30px}
.xp-footerbar{position:sticky;bottom:0;z-index:5;height:26px;min-width:1110px;margin-top:auto;padding-top:4px;border-top:1px solid #dce0e5;background:var(--page);color:#9ba5b4;text-align:center;font-size:11px}
.xp-footerbar a{color:#5d84d4}
.page-grid{width:100%;min-width:0}
.page-grid.dashboard-grid{min-width:1480px}
.card{position:relative;width:100%;margin:0 0 30px;border:0;border-radius:15px;background:#fff;box-shadow:var(--shadow)}
.card-body{padding:20px}
.dashboard-card .card-body{padding:20px}

.tabs{display:flex;align-items:flex-end;height:42px;margin:0 0 15px;padding:0;border-bottom:1px solid #dee2e6;list-style:none}
.tab{display:flex;align-items:center;gap:5px;height:42px;padding:9px 15px;color:#292929;border:1px solid transparent;border-bottom:0;border-radius:4px 4px 0 0;cursor:pointer;white-space:nowrap}
.tab.active{margin-bottom:-1px;color:#5b7ed4;background:#fff;border-color:#dee2e6}
.tab-icon{width:18px;height:18px;color:currentColor}

.filters{display:grid;gap:10px;margin:0 0 27px}
.filters-dashboard{grid-template-columns:190px 190px 190px 190px 190px 190px;grid-template-rows:38px 38px;margin:0 0 27px}
.filters-dashboard .wide-product{grid-column:1/span 2}
.filters-dashboard .wide-tags{grid-column:3/span 2}
.filters-dashboard .search-input{grid-column:5/span 2}
.filters-dashboard .search-place{grid-column:5/span 2}
.customer-filters{grid-template-columns:240px 198px 198px 198px 198px 350px 350px 102px 92px 40px 40px;grid-template-rows:38px 38px;margin:0 0 20px;min-width:1450px}
.customer-filters .customer-marketing{grid-column:1/span 2}
.customer-filters .customer-search{grid-column:3/span 2}
.control{width:100%;height:38px;padding:7px 14px;border:1px solid transparent;border-radius:5px;background:#f0f2f5;color:#555;outline:0}
.control::placeholder{color:#838a94;opacity:1}
.control:focus{border-color:#8ba7e5;background:#fff;box-shadow:0 0 0 2px rgba(76,127,240,.08)}
select.control{appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#92979e 50%),linear-gradient(135deg,#92979e 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.control.white{border-color:#d7dadd;background-color:#fff}
.input-help{position:relative}
.input-help::after{position:absolute;top:9px;right:10px;display:flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid #333;border-radius:50%;content:'?';font:11px/1 Calibri,sans-serif}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:7px 16px;border:1px solid transparent;border-radius:4px;box-shadow:0 3px 9px rgba(0,0,0,.15);cursor:pointer;white-space:nowrap}
.btn-primary{background:#4c7ff0;color:#fff}
.btn-success{background:#28c76f;color:#fff}
.btn-teal{background:#52c5ca;color:#fff}
.btn-outline{border-color:#5f83d2;background:#fff;color:#5f83d2;box-shadow:none}
.btn:hover{filter:brightness(.98)}
.btn .button-icon{width:18px;height:18px}

.table-wrap{width:100%;overflow:auto}
.data-table{width:100%;border-collapse:collapse;table-layout:fixed}
.data-table th{padding:13px 12px 20px;border-bottom:1px solid #d7dade;color:#101010;text-align:left;font-weight:500;vertical-align:top}
.data-table td{padding:22px 12px;border-bottom:1px solid #dfe2e5;color:#191919;vertical-align:middle}
.data-table tbody tr{min-height:108px}
.data-table tbody tr.clickable{cursor:pointer}
.data-table tbody tr.clickable:hover td{background:#fafcff}
.data-table a{color:#5883dc;font-size:16px}
.cell-main{display:block;color:#1c1c1c}
.cell-sub{display:block;color:#9aa2ac;font-size:13px}
.row-open{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid #638adb;border-radius:50%;color:#638adb;font:12px/1 Calibri,sans-serif}
.delay{height:100%;min-height:106px;margin:-22px -12px;display:flex;align-items:center;justify-content:center;background:#cf262d;color:#fff}
.checkbox{width:17px;height:17px;border:1px solid #70757a;border-radius:3px;appearance:none;background:#fff}

.list-card .card-body{padding:20px}
.list-toolbar{display:flex;align-items:center;gap:10px;margin:15px 20px 15px}
.list-toolbar .grow{flex:1}
.list-toolbar .location{flex:0 1 482px}
.list-toolbar .search{flex:0 1 235px}
.list-toolbar .filter-block{min-width:170px}
.list-toolbar.products-toolbar{margin:0 0 70px;align-items:flex-start}
.products-toolbar .control{min-width:180px}
.products-toolbar .kind{min-width:125px;flex:0 0 125px}
.products-table th{padding-top:14px;padding-bottom:14px}
.products-table td{padding-top:17px;padding-bottom:17px}
.product-thumb{display:block;width:34px;height:34px;border-radius:5px;object-fit:cover;box-shadow:0 2px 7px rgba(0,0,0,.15)}
.tag-pill{display:inline-flex;margin:2px 3px 2px 0;padding:3px 10px;border-radius:16px;background:#4c7ff0;color:#fff;font-size:12px;line-height:1.35}
.equipment-table td{padding-top:18px;padding-bottom:18px}
.table-footer{display:flex;align-items:center;gap:7px;padding:14px 12px 0}
.per-page{width:68px;height:37px;padding:5px 12px;border:1px solid #d6dade;border-radius:5px;background:#f1f2f4}
.pagination{display:flex;gap:3px;margin-left:auto}
.pagination button{min-width:34px;height:34px;border:1px solid #dce0e4;background:#fff;color:#6b7480;cursor:pointer}
.pagination button.active{background:#5d83d8;color:#fff}
.module-tabs{overflow-x:auto;overflow-y:hidden}
.module-filter-row{display:flex;align-items:center;gap:10px;min-width:1000px;margin:0 0 55px}
.module-filter-row>.control{width:180px;flex:0 0 180px}
.module-filter-row>.module-filter-spacer{flex:1}
.module-filter-row>.module-search{flex:0 0 250px}
.empty-active{height:82px!important;color:#9aa4b1!important;text-align:center!important}
.module-empty{display:flex;align-items:center;justify-content:center;min-height:210px;color:#9aa4b1}
.task-card{min-height:220px}
.task-filter-row{display:flex;align-items:flex-start;gap:10px}
.task-filter-row>.control:first-child{width:240px;flex:0 0 240px}
.task-filter-placeholder{display:block;width:56px;height:38px;border-radius:4px;background:#eff1f3}
.task-filter-row>.input-help{width:110px;margin-left:auto}
.task-empty{min-height:120px}
.calendar-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:18px}
.calendar-toolbar .grow{flex:1}
.calendar-arrows{display:flex}
.calendar-arrows button{width:34px;height:38px;border:1px solid #d9dde1;background:#fff;color:#586575;font-size:20px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #dce0e4;border-left:1px solid #dce0e4}
.calendar-head{padding:10px;border-right:1px solid #dce0e4;border-bottom:1px solid #dce0e4;text-align:center;font-weight:500}
.calendar-cell{position:relative;min-height:105px;padding:8px;border-right:1px solid #dce0e4;border-bottom:1px solid #dce0e4;background:#fff}
.calendar-cell.today{background:#f1f6ff}
.calendar-cell.today span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#4d80ef;color:#fff}

.active-tabs{display:flex;align-items:end;height:42px;margin:0 0 35px;border-bottom:1px solid #dfe2e4}
.active-tab{height:42px;padding:9px 16px;border:1px solid transparent;border-bottom:0;background:#fff;color:#222;cursor:pointer}
.active-tab.active{margin-bottom:-1px;border-color:#dfe2e4;color:#5d84d5}

.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;margin-left:6px;padding:0 7px;border-radius:12px;background:#eef2fa;color:#5d83d8;font-size:11px}
.scope-note{display:inline-flex;align-items:center;margin-left:12px;color:#96a0ae;font-size:12px}

.detail-card{min-width:1020px}
.detail-tabs{margin-bottom:0}
.summary-grid{display:grid;grid-template-columns:92px 150px 135px 180px 210px 145px 85px;gap:0;padding:18px 18px 8px;border-bottom:1px solid #dfe2e5}
.summary-item{padding-right:12px}
.summary-item strong{display:block;margin-bottom:13px;font-size:20px;font-weight:500}
.summary-item span,.summary-item a{font-size:19px;color:#4d4d4d}
.summary-item a{color:#5e86db}
.created-line{padding:20px 18px;border-bottom:1px solid #e1e3e6}
.detail-table{margin-top:9px}
.detail-table th{text-align:center}
.detail-table td{padding-top:16px;padding-bottom:16px}
.detail-table .product-cell{border-left:8px solid #3378a5;padding-left:12px}
.detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:32px 18px}
.detail-section h3{font-size:16px;font-weight:500}
.editor-box{min-height:180px;border:1px solid #d7dadd;border-radius:4px;background:#fff}
.drop-box{min-height:180px;border:1px dashed #cbd0d5;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:21px}

.form-card{min-width:1020px}
.form-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:12px;padding:28px 20px 60px}
.form-field label{display:block;margin:0 0 8px;color:#242424}
.form-field.span-2{grid-column:span 2}
.form-field.span-3{grid-column:span 3}
.form-field.span-6{grid-column:span 6}
.field-control{width:100%;height:39px;padding:7px 12px;border:1px solid #d4d8dc;border-radius:4px;background:#fff}
.field-control:disabled{background:#edf0f3;color:#9098a2}
.product-lines{grid-column:1/-1;margin-top:20px;overflow:auto}
.product-lines table{min-width:1000px}
.line-actions{display:flex;gap:6px;padding:8px 0 25px}
.order-entry-table{min-width:1450px!important}
.order-entry-table th,.order-entry-table td{padding-left:6px;padding-right:6px}
.order-entry-table .field-control{min-width:88px}
.order-entry-table select[data-order="product_id"]{min-width:250px}
.order-entry-table input[data-order="description"]{min-width:220px}
.order-remove{min-width:38px;padding-left:10px;padding-right:10px;color:#c63a43}
.form-error{min-height:22px;color:#c72a32;font-size:13px}

.profile-list{display:grid;gap:9px;margin-top:15px}
.profile-row{display:grid;grid-template-columns:1.5fr .7fr .8fr .7fr;gap:12px;padding:12px;border:1px solid #e0e3e6;border-radius:5px;background:#fbfcfd}
.profile-default{color:#5c82d6;font-size:12px}

.modal-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(15,23,32,.36)}
.modal{width:min(980px,calc(100vw - 60px));max-height:calc(100vh - 60px);overflow:auto;border-radius:7px;background:#fff;box-shadow:0 15px 50px rgba(0,0,0,.25)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #e0e3e6}
.modal-head h2{margin:0;font-size:20px;font-weight:500}
.modal-close{border:0;background:none;color:#7f8893;font-size:25px;cursor:pointer}
.modal-body{padding:22px}
.calculator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.calculator-result{background:#f2f6ff}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid #e0e3e6}

.placeholder-page{min-height:360px;padding:28px}
.placeholder-page h2{font-size:19px;font-weight:500}
.placeholder-page p{max-width:720px;color:#8a98ac}

.custom-loader{position:fixed;z-index:200;top:50%;left:calc(50% + 125px);width:200px;padding:17px 20px 27px;border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.16);text-align:center;color:#262626;transform:translate(-50%,-50%)}
.custom-loader-hidden{display:none}
.custom-loader span{display:inline-block;width:13px;height:13px;margin:17px 4px 0;border-radius:50%;background:#0587d1;animation:pulse 1s infinite ease-in-out}
.custom-loader span:nth-of-type(2){animation-delay:.14s}
.custom-loader span:nth-of-type(3){animation-delay:.28s}
@keyframes pulse{0%,80%,100%{transform:scale(.75);opacity:.65}40%{transform:scale(1);opacity:1}}

.login-screen{position:fixed;z-index:500;inset:0;display:flex;align-items:center;justify-content:center;background:#f5f7f8}
.login-card{width:390px;padding:34px 42px 40px;border-radius:15px;background:#fff;box-shadow:var(--shadow)}
.login-logo{display:block;width:195px;height:100px;margin:-20px auto 6px;object-fit:contain}
.login-card h1{margin:4px 0 24px;text-align:center;font-size:21px;font-weight:500}
.login-card label>span{display:block;margin-bottom:7px;color:#687586}
.login-card input[type=text],.login-card input[type=password]{width:100%;height:42px;margin-bottom:16px;padding:8px 12px;border:1px solid #d7dade;border-radius:4px}
.login-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px;font-size:13px}
.login-row .remember{display:flex;align-items:center;gap:5px;color:#7c8796}
.login-row .remember span{margin:0}
.login-submit{width:100%}
.login-error{min-height:20px;margin:12px 0 0;color:#c72a32;text-align:center;font-size:12px}

.toast{position:fixed;z-index:300;right:25px;bottom:35px;padding:13px 17px;border-radius:5px;background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.18);color:#333}

@media (max-width:900px){
  :root{--sidebar:0px}
  .xp-leftbar{transform:translateX(-250px);transition:transform .2s ease}
  body.sidebar-open .xp-leftbar{transform:translateX(0)}
  .xp-rightbar{width:100%;margin-left:0}
  .custom-loader{left:50%}
}
