1"use strict";(globalThis.webpackChunkmain_bt5||=[]).push([[733,8055],{88055(n,a,i){i.r(a);var e=i(69223),o=i(65043),t=i(7493),r=i(72450),s=i.n(r),l=i(31395),c=i(37762),d=i(64961),p=i(70579);const g=n=>{let{grid:a,name:i}=n;const[r,g]=(0,o.useState)(!1),[x,m]=(0,o.useState)("");return(0,p.jsx)("div",{children:(0,p.jsx)("div",{children:(0,p.jsx)("div",{className:"h-screen",children:(0,p.jsxs)("div",{className:"collapse_new res_collapse_new ctop-align dsh-clp",children:[(0,p.jsxs)(t.A,{onClick:()=>{const n=document.getElementById("imgOption");n.src.match("/img/newimages/expand.png")?(n.src="/img/newimages/collapse.png",m("Options"),g(!r)):(n.src="/img/newimages/expand.png",m(""),g(!1))},className:"mb-0",children:[(0,p.jsx)("img",{id:"imgOption",src:"/img/newimages/expand.png",alt:"Options",className:"btn btn-primary collapse_new_btn"}),(0,p.jsx)("b",{children:x})]}),r&&(0,p.jsx)("div",{className:"bg-white w-52 shadow-lg absolute-left-14 top-24",children:(0,p.jsxs)("ul",{children:[(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100"}),(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100",children:(0,p.jsxs)(t.A,{color:"link",className:"border-0",onClick:()=>{a.current.instance.showColumnChooser()},children:[" ",(0,p.jsx)("img",{src:"/img/newimages/field-choser-icon.png",alt:"",className:"option-icon"}),"Column Chooser"]})}),(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100",children:(0,p.jsxs)(t.A,{color:"link",className:"border-0",onClick:n=>{const o=document.getElementById("imgOption");o.src.match("/img/newimages/collapse.png")&&(o.src="/img/newimages/expand.png",g(!1));const t=a.current.instance,r=new e.Workbook,c=r.addWorksheet("Main sheet");(0,l.V)({component:t,worksheet:c,customizeCell(n){if(console.log(n.gridCell),n.excelCell&&(n.excelCell.column=n.excelCell.column||{},n.excelCell.column.width=200,n.excelCell.border={top:{style:"thin",color:{argb:"FF000000"}},left:{style:"thin",color:{argb:"FF000000"}},bottom:{style:"thin",color:{argb:"FF000000"}},right:{style:"thin",color:{argb:"FF000000"}}}),"header"===n.gridCell.rowType&&(n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFA9D08E"}}),"group"===n.gridCell.rowType)n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFDDDDDD"}};else if("totalFooter"===n.gridCell.rowType)n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFC27BA0"}};else{n.gridCell%2===0&&(n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFDDDDDD"}}),n.excelRow?n.excelRow.height=10:n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:"FFFFFFFF"}}}}).then(()=>{r.xlsx.writeBuffer().then(n=>{s()(new Blob([n],{type:"application/octet-stream"}),`${i}.xlsx`)})}),n.cancel=!0},children:[" ",(0,p.jsx)("img",{src:"/img/newimages/excel-icon.png",alt:"",className:"option-icon"}),"Excel"]})}),(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100",children:(0,p.jsxs)(t.A,{color:"link",className:"border-0",onClick:()=>{const n=new c.Ay("l","mm",[590,330]),e=a.current.instance;(0,d.VL)({jsPDFDocument:n,component:e,createDocumentMethod:n=>new c.Ay(n),landscape:!0,format:"a4",exportMode:"all"}).then(()=>{n.save(`${i}.pdf`),n.setFontSize(2),n.setTextColor("#cccccc")})},children:[" ",(0,p.jsx)("img",{src:"/img/newimages/pdf-icon.png",alt:" ",className:"option-icon"}),"Pdf"]})})]})})]})})})})};i.d(a,["default",0,g])},90234(n,a,i){const e=()=>{const n=localStorage.getItem("user");return null===n?(window.location.href="/auth/login",!0):JSON.parse(n)};i.d(a,["A",0,e])},90733(n,a,i){i.r(a);var e=i(65043),o=i(13966),t=i(632),r=i(26259),s=i(56762),l=i(58280),c=i(15553),d=i(78561),p=i(22443),g=i(75139),x=i(23979),m=i(92424),f=i(30267),u=i(48586),k=i(7875),h=i(79456),b=i(5479),j=i(88055),v=i(90234),y=i(19886),w=i(41233),N=i(70579);const A=[50,100,500,"all"],S=[{value:1,text:"Active"},{value:2,text:"In-Active"}],C=(n,a)=>({parkingLotId:0,locationName:"",parkingSpaces:null,description:"",status:a,createdDate:new Date,createdBy:"",modifiedDate:new Date,modifiedBy:"",companyId:n,overBook:!1}),z=()=>{const n=(0,h.wA)(),a=(0,e.useRef)(null),i=(0,v.A)(),{companyId:z,userName:D}=i||{},[P,E]=(0,e.useState)([]),[F,B]=(0,e.useState)(1),[I,L]=(0,e.useState)(1),[R,O]=(0,e.useState)(!1),[V,T]=(0,e.useState)(!1),[M,U]=(0,e.useState)(C(z,1)),[W,_]=(0,e.useState)({locationName:"",parkingSpaces:"",description:""}),[H,G]=(0,e.useState)(!1),[q,Y]=(0,e.useState)(!1),[K,$]=(0,e.useState)(""),X=n=>{$(n),Y(!0)};(0,e.useEffect)(()=>{const a={companyId:z,status:F};G(!0),n((0,b.Py)({Data:a})).then(n=>{E(Array.isArray(null===n||void 0===n?void 0:n.payload)?n.payload:[])}).catch(n=>{console.log(n),X("Unable to load Parking Locations.")}).finally(()=>{G(!1)})},[z,n,F]);const J=n=>{if(_({locationName:"",parkingSpaces:"",description:""}),n){const a=P.find(a=>a.parkingLotId===n);if(a)return U({parkingLotId:a.parkingLotId,locationName:a.locationName||"",parkingSpaces:a.parkingSpaces,description:a.description||"",status:a.status,createdDate:a.createdDate,createdBy:a.createdBy||"",modifiedBy:a.modifiedBy||"",modifiedDate:a.modifiedDate,companyId:z,overBook:Boolean(a.overBook)}),L(a.status||1),T(!0),void O(!0)}U(C(z,F)),L(F),T(!1),O(!0)},Q=(n,a)=>{_(a=>({...a,[n]:""})),U(i=>({...i,[n]:a}))},Z=P.length,nn=(0,e.useMemo)(()=>P.reduce((n,a)=>n+(Number(a.parkingSpaces)||0),0),[P]),an=(0,e.useMemo)(()=>P.filter(n=>
1Boolean(n.overBook)).length,[P]),en=(new Date).toLocaleString("en-US",{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0});return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(j.default,{grid:a,name:`Parking Locations_${en}`}),(0,N.jsxs)("div",{className:"parking-locations-page",children:[(0,N.jsxs)("div",{className:"parking-locations-header",children:[(0,N.jsxs)("div",{className:"parking-locations-heading",children:[(0,N.jsx)("div",{className:"parking-locations-heading-icon",children:(0,N.jsx)(x.A,{size:22})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("h3",{children:"Parking Locations"}),(0,N.jsx)("p",{children:"Manage parking locations, available spaces, overbooking settings and record status."})]})]}),(0,N.jsxs)("div",{className:"parking-locations-header-summary",children:[(0,N.jsxs)("div",{className:"parking-locations-header-stat",children:[(0,N.jsx)(x.A,{size:13}),(0,N.jsx)("span",{children:"Locations"}),(0,N.jsx)("strong",{children:Z})]}),(0,N.jsxs)("div",{className:"parking-locations-header-stat",children:[(0,N.jsx)(p.A,{size:13}),(0,N.jsx)("span",{children:"Spaces"}),(0,N.jsx)("strong",{children:nn})]}),(0,N.jsxs)("div",{className:"parking-locations-header-stat",children:[(0,N.jsx)(m.A,{size:13}),(0,N.jsx)("span",{children:"OverBook"}),(0,N.jsx)("strong",{children:an})]})]})]}),(0,N.jsx)("div",{className:"parking-locations-section",children:(0,N.jsxs)("div",{className:"parking-locations-toolbar",children:[(0,N.jsxs)("div",{className:"parking-locations-main-actions",children:[(0,N.jsxs)(r.A,{type:"button",className:"parking-locations-add-btn",onClick:()=>J(null),children:[(0,N.jsx)(f.A,{size:15}),"Add Parking Location"]}),(0,N.jsxs)(r.A,{type:"button",className:"parking-locations-filter-btn",onClick:()=>{a.current&&a.current.instance.clearFilter()},children:[(0,N.jsx)(d.A,{size:14}),"Clear Filters"]})]}),(0,N.jsxs)("div",{className:"parking-locations-status-filter",children:[(0,N.jsx)("span",{children:"Status"}),(0,N.jsx)(o.aL,{dataSource:S,displayExpr:"text",valueExpr:"value",value:F,width:160,onValueChanged:n=>{const{value:a}=n;B(a)}})]})]})}),(0,N.jsxs)("div",{className:"parking-locations-section",children:[(0,N.jsxs)("div",{className:"parking-locations-section-header",children:[(0,N.jsxs)("div",{className:"parking-locations-section-title",children:[(0,N.jsx)("div",{className:"parking-locations-section-icon",children:(0,N.jsx)(l.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("h5",{children:"Location Summary"}),(0,N.jsx)("span",{children:1===F?"Currently displaying active parking locations.":"Currently displaying inactive parking locations."})]})]}),(0,N.jsx)("span",{className:1===F?"parking-locations-record-badge active":"parking-locations-record-badge inactive",children:1===F?"Active Records":"In-Active Records"})]}),(0,N.jsx)("div",{className:"parking-locations-section-body",children:(0,N.jsxs)("div",{className:"parking-locations-summary-grid",children:[(0,N.jsxs)("div",{className:"parking-locations-summary-card",children:[(0,N.jsx)("div",{className:"parking-locations-summary-icon",children:(0,N.jsx)(x.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"Total Locations"}),(0,N.jsx)("strong",{children:Z})]})]}),(0,N.jsxs)("div",{className:"parking-locations-summary-card",children:[(0,N.jsx)("div",{className:"parking-locations-summary-icon",children:(0,N.jsx)(p.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"Total Parking Spaces"}),(0,N.jsx)("strong",{children:nn})]})]}),(0,N.jsxs)("div",{className:"parking-locations-summary-card important",children:[(0,N.jsx)("div",{className:"parking-locations-summary-icon",children:(0,N.jsx)(m.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"OverBook Enabled"}),(0,N.jsx)("strong",{children:an})]})]})]})})]}),(0,N.jsxs)("div",{className:"parking-locations-section",children:[(0,N.jsxs)("div",{className:"parking-locations-section-header",children:[(0,N.jsxs)("div",{className:"parking-locations-section-title",children:[(0,N.jsx)("div",{className:"parking-locations-section-icon",children:(0,N.jsx)(g.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("h5",{children:"Parking Location Details"}),(0,N.jsx)("span",{children:"Click a location name to edit the record."})]})]}),(0,N.jsxs)("span",{className:"parking-locations-count-badge",children:[(0,N.jsx)(c.A,{size:12}),Z," ","Records"]})]}),(0,N.jsx)("div",{className:"parking-locations-grid-wrapper",children:(0,N.jsxs)(t.Ay,{id:"ParkingLocationsGrid",ref:a,dataSource:P,showBorders:!0,showRowLines:!0,showColumnLines:!1,hoverStateEnabled:!0,remoteOperations:!1,allowColumnResizing:!0,columnResizingMode:"widget",columnAutoWidth:!0,allowColumnReordering:!0,columnHidingEnabled:!1,loadPanel:{enabled:!1},className:"parking-locations-grid",children:[(0,N.jsx)(t.i8,{enabled:!0}),(0,N.jsx)(t.QA,{visible:!0}),(0,N.jsx)(t.XD,{visible:!0,showClearButton:!0}),(0,N.jsx)(t.cl,{mode:"standard",rowRenderingMode:"standard",useNative:!0}),(0,N.jsx)(t.lK,{defaultPageSize:100}),(0,N.jsx)(t.is,{allowedPageSizes:A,showPageSizeSelector:!0,showInfo:!0,visible:!0,displayMode:"compact"}),(0,N.jsx)(t.VP,{dataField:"locationName",caption:"NAME",width:180,minWidth:160,cellRender:n=>{const{parkingLotId:a,locationName:i}=n.data;return(0,N.jsxs)("button",{type:"button",className:"parking-location-name-btn",onClick:()=>J(a),children:[(0,N.jsx)(x.A,{size:13}),i]})}}),(0,N.jsx)(t.VP,{dataField:"parkingSpaces",caption:"PARKING SPACE",alignment:"center",width:125,minWidth:120}),(0,N.jsx)(t.VP,{dataField:"description",caption:"DESCRIPTION",width:240,minWidth:190}),(0,N.jsx)(t.VP,{dataField:"overBook",caption:"OVER BOOK",alignment:"center",width:105,minWidth:100,cellRender:n=>{const{overBook:a}=n.data,i=Boolean(a);return(0,N.jsxs)("span",{className:i?"parking-location-bool yes":"parking-location-bool no",children:[(0,N.jsx)("span",{}),i?"Yes":"No"]})}}),(0,N.jsx)(t.VP,{dataField:"status",caption:"STATUS",alignment:"center",width:100,minWidth:95,cellRender:n=>{const{status:a}=n.data,i=1===a;return(0,N.jsxs)("span",{className:i?"parking-location-status active":"parking-location-status inactive",children:[(0,N.jsx)("span",{}),i?"Active":"In-Active"]})}}),(0,N.jsx)(t.VP,{dataField:"createdDate",caption:"CREATED DATE",visible:!1,dataType:"datetime"}),(0,N.jsx)(t.VP,{dataField:"modifiedDate",caption:"MODIFIED DATE",visible:!1,dataType:"datetime"}),(0,N.jsx)(t.VP,{dataField:"createdBy",caption:"CREATED BY",visible:!1}),(0,N.jsx)(t.VP,{dataField:"modifiedBy",caption:"MODIFIED BY",visible:!1})]})})]})]}),(0,N.jsx)(o.zD,{id:"ParkingLocationAddEditPopup",visible:R,onHiding:()=>O(!1),width:"min(560px, 94vw)",height:"auto",dragEnabled:!1,resizeEnabled:!1,position:"center",showCloseButton:!0,title:M.parkingLotId?"Edit Parking Location":"Add Parking Location",wrapperAttr:{className:"parking-location-popup"},children:(0,N.jsxs)("div",{className:"parking-location-popup-content",children:[(0,N.jsxs)("div",{className:"parking-location-popup-header",children:[(0,N.jsx)("div",{className:"parking-location-popup-icon",children:(0,N.jsx)(x.A,{size:21})}
1),(0,N.jsxs)("div",{children:[(0,N.jsx)("h5",{children:M.parkingLotId?"Update Parking Location":"Create Parking Location"}),(0,N.jsx)("span",{children:"Configure location details and parking capacity."})]})]}),(0,N.jsxs)("div",{className:"parking-location-form-group",children:[(0,N.jsxs)("div",{className:"parking-location-label",children:["Name",(0,N.jsx)("span",{children:"*"})]}),(0,N.jsx)(o.fI,{value:M.locationName,placeholder:"Enter parking location name",className:"parking-location-input",onValueChanged:n=>{const{value:a}=n;Q("locationName",a)}}),W.locationName&&(0,N.jsxs)("div",{className:"parking-location-error",children:[(0,N.jsx)(s.A,{size:12}),W.locationName]})]}),(0,N.jsxs)("div",{className:"parking-location-form-group",children:[(0,N.jsxs)("div",{className:"parking-location-label",children:["Parking Space",(0,N.jsx)("span",{children:"*"})]}),(0,N.jsx)(o.We,{min:1,max:999999,value:M.parkingSpaces,showClearButton:!0,className:"parking-location-input",placeholder:"Enter parking capacity",onValueChanged:n=>{const{value:a}=n;Q("parkingSpaces",a)}}),W.parkingSpaces&&(0,N.jsxs)("div",{className:"parking-location-error",children:[(0,N.jsx)(s.A,{size:12}),W.parkingSpaces]})]}),(0,N.jsxs)("div",{className:"parking-location-form-group",children:[(0,N.jsxs)("div",{className:"parking-location-label",children:["Description",(0,N.jsx)("span",{children:"*"})]}),(0,N.jsx)(o.fI,{value:M.description,placeholder:"Enter location description",className:"parking-location-input",onValueChanged:n=>{const{value:a}=n;Q("description",a)}}),W.description&&(0,N.jsxs)("div",{className:"parking-location-error",children:[(0,N.jsx)(s.A,{size:12}),W.description]})]}),(0,N.jsxs)("div",{className:"parking-location-setting-card",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("strong",{children:"Allow OverBook"}),(0,N.jsx)("span",{children:"Allow reservations beyond the configured parking capacity."})]}),(0,N.jsx)(o.oV,{value:M.overBook,onValueChanged:n=>{const{value:a}=n;Q("overBook",a)}})]}),V&&(0,N.jsxs)("div",{className:"parking-location-form-group",children:[(0,N.jsx)("div",{className:"parking-location-label",children:"Status"}),(0,N.jsx)(o.aL,{dataSource:S,displayExpr:"text",valueExpr:"value",value:I,className:"parking-location-input",onValueChanged:n=>{const{value:a}=n;L(a)}})]}),(0,N.jsxs)("div",{className:"parking-location-popup-actions",children:[(0,N.jsxs)(r.A,{type:"button",className:"parking-location-close-btn",onClick:()=>O(!1),children:[(0,N.jsx)(k.A,{size:14}),"Close"]}),(0,N.jsxs)(r.A,{type:"button",className:"parking-location-submit-btn",onClick:()=>{if(!(()=>{const n={};let a=!1;return String(M.locationName||"").trim()||(n.locationName="Name is required.",a=!0),(null===M.parkingSpaces||void 0===M.parkingSpaces||Number(M.parkingSpaces)<=0)&&(n.parkingSpaces="Parking Space is required.",a=!0),String(M.description||"").trim()||(n.description="Description is required.",a=!0),_(n),!a})())return;const a=M.parkingLotId>0,i=a?"Update":"Insert",e={...a?{parkingLotId:M.parkingLotId}:{},locationName:String(M.locationName||"").trim(),parkingSpaces:M.parkingSpaces,description:String(M.description||"").trim(),status:a?I:F,createdDate:M.createdDate||new Date,createdBy:D,modifiedBy:M.modifiedBy||"",modifiedDate:M.modifiedDate||new Date,companyId:z,overBook:Boolean(M.overBook)};G(!0),n((0,b.qe)({passData:e,commandType:i})).then(i=>{var e,o;const t=null===i||void 0===i||null===(e=i.payload)||void 0===e||null===(o=e.data)||void 0===o?void 0:o.data;X((null===t||void 0===t?void 0:t.value)||(a?"Parking Location updated successfully.":"Parking Location added successfully.")),O(!1),(a=>{const i={companyId:z,status:void 0===a?F:a};G(!0),n((0,b.Py)({Data:i})).then(n=>{E(Array.isArray(null===n||void 0===n?void 0:n.payload)?n.payload:[])}).catch(n=>{console.log(n),X("Unable to load Parking Locations.")}).finally(()=>{G(!1)})})()}).catch(n=>{console.log(n),X(a?"Unable to update Parking Location.":"Unable to add Parking Location.")}).finally(()=>{G(!1)})},children:[M.parkingLotId?(0,N.jsx)(u.A,{size:14}):(0,N.jsx)(f.A,{size:14}),M.parkingLotId?"Update":"Submit"]})]})]})}),(0,N.jsx)(w.A,{showPopup:q,onHiding:()=>Y(!1),labelMessage:K}),(0,N.jsx)(y.A,{isVisible:H}),(0,N.jsx)("style",{children:'\n\n /* =====================================================\n PAGE\n ====================================================== */\n\n .parking-locations-page {\n overflow: hidden;\n margin-bottom: 25px;\n color: #293b47;\n background: #ffffff;\n border: 1px solid #dce3e8;\n border-radius: 10px;\n box-shadow:\n 0 1px 2px rgba(16,24,40,.025),\n 0 4px 10px rgba(16,24,40,.035);\n font-family:\n "Segoe UI",\n -apple-system,\n BlinkMacSystemFont,\n "Helvetica Neue",\n Arial,\n sans-serif;\n }\n\n\n /* =====================================================\n HEADER\n ====================================================== */\n\n .parking-locations-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 14px;\n padding: 14px 16px;\n background: linear-gradient(105deg, #1565c0 0%, #00897b 55%, #43a047 100%);\n border-bottom: 1px solid rgba(0,0,0,.08);\n }\n\n\n .parking-locations-heading {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n\n .parking-locations-heading-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 42px;\n height: 42px;\n flex-shrink: 0;\n color: #ffffff;\n background: rgba(255,255,255,.14);\n border: 1px solid rgba(255,255,255,.17);\n border-radius: 7px;\n }\n\n\n .parking-locations-heading h3 {\n margin: 0;\n color: #ffffff;\n font-size: 19px;\n font-weight: 700;\n }\n\n\n .parking-locations-heading p {\n margin: 3px 0 0;\n color: #e4ebef;\n font-size: 12px;\n }\n\n\n .parking-locations-header-summary {\n display: flex;\n align-items: center;\n gap: 7px;\n flex-wrap: wrap;\n justify-content: flex-end;\n }\n\n\n .parking-locations-header-stat {\n display: flex;\n align-items: center;\n gap: 5px;\n padding: 6px 9px;\n color: #ffffff;\n background: rgba(255,255,255,.13);\n border: 1px solid rgba(255,255,255,.18);\n border-radius: 15px;\n font-size: 11px;\n }\n\n\n .parking-locations-header-stat strong {\n font-size: 12px;\n font-weight: 700;\n }\n\n\n /* =====================================================\n SECTION\n ====================================================== */\n\n .parking-locations-section {\n overflow: hidden;\n margin: 11px 12px;\n background: #ffffff;\n border: 1px solid #dce3e8;\n border-radius: 8px;\n }\n\n\n .parking-locations-section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 8px 10px;\n background: linear-gradient(90deg, #f1f8ff 0%, #eefaf7 100%);\n border-bottom: 1px solid #d7e8e5;\n }\n\n\n .parking-locations-section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n }\n\n\n .parking-locations-section-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 33px;\n height: 33px;\n flex-shrink: 0;\n color: #087f89;\n background: #e3f5f3;\n border-radius: 6px;\n }\n\n\n .parking-locations-section-title h5 {\n margin: 0;\n color: #364b58;\n font-size: 14px;\n font-weight: 700;\n }\n\n\n .parking-locations-section-title span {\n display: block;
1\n margin-top: 1px;\n color: #83909a;\n font-size: 10.5px;\n }\n\n\n .parking-locations-section-body {\n padding: 10px;\n }\n\n\n /* =====================================================\n TOOLBAR\n ====================================================== */\n\n .parking-locations-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n padding: 9px;\n }\n\n\n .parking-locations-main-actions {\n display: flex;\n align-items: center;\n gap: 7px;\n flex-wrap: wrap;\n }\n\n\n .parking-locations-add-btn,\n .parking-locations-filter-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n height: 36px;\n padding: 0 11px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 650;\n }\n\n\n .parking-locations-add-btn {\n color: #ffffff;\n background: linear-gradient(100deg, #1565c0, #00897b);\n border: 1px solid #087f87;\n }\n\n\n .parking-locations-filter-btn {\n color: #596d79;\n background: #ffffff;\n border: 1px solid #d2dce3;\n }\n\n\n .parking-locations-status-filter {\n display: flex;\n align-items: center;\n gap: 6px;\n color: #546975;\n font-size: 11px;\n font-weight: 650;\n }\n\n\n /* =====================================================\n SUMMARY\n ====================================================== */\n\n .parking-locations-summary-grid {\n display: grid;\n grid-template-columns:\n repeat(3,minmax(0,1fr));\n gap: 7px;\n }\n\n\n .parking-locations-summary-card {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n padding: 9px;\n background: #f8fafb;\n border: 1px solid #dce3e8;\n border-radius: 7px;\n }\n\n\n .parking-locations-summary-card.important {\n background: #edf3f6;\n border-color: #cfdde5;\n }\n\n\n .parking-locations-summary-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n flex-shrink: 0;\n color: #58748a;\n background: #e7eef2;\n border-radius: 6px;\n }\n\n\n .parking-locations-summary-card span {\n display: block;\n color: #82909a;\n font-size: 9.5px;\n }\n\n\n .parking-locations-summary-card strong {\n display: block;\n margin-top: 2px;\n color: #3d5360;\n font-size: 13px;\n font-weight: 700;\n }\n\n\n .parking-locations-record-badge,\n .parking-locations-count-badge {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 8px;\n border-radius: 14px;\n font-size: 10.5px;\n font-weight: 650;\n white-space: nowrap;\n }\n\n\n .parking-locations-record-badge.active {\n color: #39714c;\n background: #e9f5ed;\n border: 1px solid #c9e4d1;\n }\n\n\n .parking-locations-record-badge.inactive {\n color: #955151;\n background: #faeeee;\n border: 1px solid #ecd0d0;\n }\n\n\n .parking-locations-count-badge {\n color: #5a7180;\n background: #edf3f6;\n border: 1px solid #d7e2e8;\n }\n\n\n /* =====================================================\n GRID\n ====================================================== */\n\n .parking-locations-grid-wrapper {\n padding: 7px;\n overflow-x: auto;\n }\n\n\n .parking-locations-grid {\n font-size: 12px;\n }\n\n\n .parking-locations-grid\n .dx-datagrid-headers {\n color: #455765;\n background: #f4f7f9;\n font-size: 11.5px;\n font-weight: 700;\n }\n\n\n .parking-locations-grid\n .dx-header-row > td {\n padding-top: 8px;\n padding-bottom: 8px;\n }\n\n\n .parking-locations-grid\n .dx-data-row > td {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #445864;\n font-size: 11.8px;\n }\n\n\n .parking-locations-grid\n .dx-filter-row\n .dx-texteditor-input {\n min-height: 32px;\n font-size: 11.5px !important;\n }\n\n\n /* =====================================================\n GRID CELLS\n ====================================================== */\n\n .parking-location-name-btn {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 0;\n cursor: pointer;\n color: #35698c;\n background: transparent;\n border: 0;\n font-size: 11.8px;\n font-weight: 650;\n text-align: left;\n }\n\n\n .parking-location-name-btn:hover {\n text-decoration: underline;\n }\n\n\n .parking-location-bool,\n .parking-location-status {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 4px 7px;\n border-radius: 12px;\n font-size: 9.5px;\n font-weight: 700;\n white-space: nowrap;\n }\n\n\n .parking-location-bool > span,\n .parking-location-status > span {\n width: 6px;\n height: 6px;\n background: currentColor;\n border-radius: 50%;\n }\n\n\n .parking-location-bool.yes,\n .parking-location-status.active {\n color: #39714c;\n background: #e9f5ed;\n border: 1px solid #c9e4d1;\n }\n\n\n .parking-location-bool.no,\n .parking-location-status.inactive {\n color: #955151;\n background: #faeeee;\n border: 1px solid #ecd0d0;\n }\n\n\n /* =====================================================\n POPUP\n ====================================================== */\n\n .parking-location-popup\n .dx-overlay-content {\n overflow: hidden;\n background: #ffffff;\n border: 1px solid #d9e1e7;\n border-radius: 10px;\n box-shadow:\n 0 15px 40px rgba(24,39,52,.18);\n }\n\n\n .parking-location-popup\n .dx-popup-title {\n color: #ffffff;\n background: linear-gradient(105deg, #1565c0 0%, #00897b 55%, #43a047 100%);\n border-bottom: 1px solid rgba(0,0,0,.08);\n }\n\n\n .parking-location-popup\n .dx-popup-title\n .dx-toolbar-label {\n color: #ffffff;\n font-size: 14px;\n font-weight: 700;\n }\n\n\n .parking-location-popup\n .dx-closebutton\n .dx-icon {\n color: #ffffff;\n }\n\n\n .parking-location-popup-content {\n padding: 3px;\n }\n\n\n .parking-location-popup-header {\n display: flex;\n align-items: center;\n gap: 9px;\n margin-bottom: 13px;\n padding-bottom: 10px;\n border-bottom: 1px solid #e4e8eb;\n }\n\n\n .parking-location-popup-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 42px;\n height: 42px;\n flex-shrink: 0;\n color: #58748a;\n background: #e9f0f4;\n border-radius: 8px;\n }\n\n\n .parking-location-popup-header h5 {\n margin: 0;\n color: #344956;\n font-size: 15px;\n font-weight: 700;\n }\n\n\n .parking-location-popup-header span {\n display: block;\n margin-top: 2px;\n color: #7f8c95;\n font-size: 11px;\n }\n\n\n .parking-location-form-group {\n margin-bottom: 12px;\n }\n\n\n .parking-location-label {\n margin-bottom: 5px;\n color: #40535f;\n font-size: 11.5px;\n font-weight: 650;\n }\n\n\n .parking-location-label span {\n margin-left: 3px;\n color: #b54c4c;\n }\n\n\n .parking-location-input {\n border: 1px solid #d3dce4;\n border-radius: 6px;\n }\n\n\n .parking-location-input\n .dx-texteditor-input {\n min-height: 38px;\n color: #293b47 !important;\n font-size: 12px !important;\n }\n\n\n .parking-location-error {\n display: flex;\n align-items: center;\n gap: 4px;\n margin-top: 4px;\n color: #ab4c4c;\n font-size: 10px;\n font-weight: 650;\n }\n\n\n .parking-location-setting-card {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 12px;\n padding: 10px;\n background: #f8fafb;\n border: 1px solid #dce3e8;\n border-radius: 7px;\n }\n\n\n .parking-location-setting-card strong {\n display: block;\n color: #40535f;\n font-size: 11.5px;\n }\n\n\n .parking-location-setting-card span {\n display: block;\n margin-top: 2px;\n color: #82909a;\n font-size: 10px;\n }\n\n\n .parking-location-popup-actions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 7px;\n margin-top: 14px;\n padding-top: 12px;\n border-top: 1px solid #e4e8eb;\n }\n\n\n .parking-location-close-btn,\n .parking-location-submit-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n min-width: 100px;\n height: 37px;\n border-radius: 6px;\n font-size: 11px;\n font-weight: 650;\n }\n\n\n .parking-location-close-btn {\n color: #596b78;\n background: #ffffff;\n border: 1px solid #d3dce3;\n }\n\n\n .parking-location-submit-btn {\n color: #ffffff;\n background: linear-gradient(100deg, #1565c0, #00897b);\n border: 1px solid #087f87;\n }\n\n\n /* =====================================================\n DEVEXTREME\n ====================================================== */\n\n .parking-locations-page\n .dx-widget,\n .parking-location-popup\n .dx-widget {\n font-family:\n "Segoe UI",\n -apple-system,\n BlinkMacSystemFont,\n "Helvetica Neue",\n Arial,\n sans-serif;\n }\n\n\n /* =====================================================\n COLORFUL PROFESSIONAL OVERRIDES\n ====================================================== */\n\n .parking-locations-heading p {\n color: rgba(255,255,255,.86);\n }\n\n .parking-locations-section {\n box-shadow: 0 2px 9px rgba(34,73,92,.04);\n }\n\n .parking-locations-add-btn:hover,\n .parking-location-submit-btn:hover {\n color: #ffffff;\n background: linear-gradient(100deg, #0d57aa, #00766c);\n border-color: #00766c;\n }\n\n .parking-locations-filter-btn:hover {\n color: #087f78;\n background: #f0faf8;\n border-color: #bcded7;\n }\n\n .parking-locations-summary-card {\n background: linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);\n border-color: #d8e7e4;\n }\n\n .parking-locations-summary-card:nth-child(1) .parking-locations-summary-icon {\n color: #1565c0;\n background: #eaf4ff;\n }\n\n .parking-locations-summary-card:nth-child(2) .parking-locations-summary-icon {\n color: #087f78;\n background: #e6f7f3;\n }\n\n .parking-locations-summary-card.important {\n background: linear-gradient(135deg, #edf9f3 0%, #f8fcfa 100%);\n border-color: #c8e8d6;\n }\n\n .parking-locations-summary-card.important .parking-locations-summary-icon {\n color: #ffffff;\n background: linear-gradient(135deg, #1565c0, #20a77a);\n }\n\n .parking-locations-summary-card.important strong {\n color: #116948;\n }\n\n .parking-locations-count-badge {\n color: #087f78;\n background: #edf9f6;\n border-color: #c9e5df;\n }\n\n .parking-locations-grid .dx-datagrid-headers {\n color: #244a62;\n background: #edf7fb;\n border-top: 2px solid #1594a3;\n }\n\n .parking-locations-grid .dx-datagrid-headers .dx-datagrid-text-content {\n white-space: nowrap;\n overflow: visible;\n text-overflow: clip;\n }\n\n .parking-locations-grid .dx-data-row.dx-state-hover > td,\n .parking-locations-grid .dx-data-row:hover > td {\n background: #f0faf9 !important;\n }\n\n .parking-location-name-btn {\n color: #1565c0;\n }\n\n .parking-location-bool.yes,\n .parking-location-status.active {\n color: #13765a;\n background: #eaf8f2;\n border-color: #c8eadc;\n }\n\n .parking-location-bool.no,\n .parking-location-status.inactive {\n color: #9a4e55;\n background: #fbf0f1;\n border-color: #efd7da;\n }\n\n .parking-location-popup-icon {\n color: #087f89;\n background: linear-gradient(135deg, #eaf4ff, #e6f7f3);\n }\n\n .parking-location-setting-card {\n background: linear-gradient(90deg, #f5faff 0%, #f2fbf8 100%);\n border-color: #d6e8e4;\n }\n\n /* =====================================================\n RESPONSIVE\n ====================================================== */\n\n @media (max-width: 991px) {\n\n .parking-locations-header,\n .parking-locations-section-header,\n .parking-locations-toolbar {\n align-items: flex-start;\n flex-direction: column;\n }\n\n\n .parking-locations-header-summary {\n width: 100%;\n justify-content: flex-start;\n }\n\n\n .parking-locations-status-filter {\n width: 100%;\n }\n\n\n .parking-locations-status-filter\n .dx-selectbox {\
1n flex: 1;\n }\n\n }\n\n\n @media (max-width: 767px) {\n\n .parking-locations-main-actions {\n display: grid;\n grid-template-columns: 1fr;\n width: 100%;\n }\n\n\n .parking-locations-add-btn,\n .parking-locations-filter-btn {\n width: 100%;\n }\n\n\n .parking-locations-summary-grid {\n grid-template-columns: 1fr;\n }\n\n\n .parking-location-popup-actions {\n flex-direction: column-reverse;\n }\n\n\n .parking-location-close-btn,\n .parking-location-submit-btn {\n width: 100%;\n }\n\n }\n\n '})]})};i.d(a,["default",0,z])}}]); 2//# sourceMappingURL=733.f14f6b36.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.