@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--green:#0b7657;--dark:#10241d;--ink:#1d2b25;--muted:#718078;--line:#e1e7e4;--bg:#f4f7f5;--gold:#e3ae3c;--red:#c9574a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--dark);color:#dce9e4;padding:23px 14px 16px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.logo{width:36px;height:36px;border-radius:10px;background:var(--gold);color:#13271f;display:grid;place-items:center;font:800 21px Manrope}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font:800 17px Manrope}.brand small,.user small{font-size:11px;color:#8da198}.sidebar>p{font-size:9px;letter-spacing:1.5px;color:#6f887e;padding:0 12px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav>a,.sidebar details a{display:flex;align-items:center;gap:11px;color:#a9bbb4;border-radius:8px;padding:10px 12px;font-size:13px}.sidebar nav>a:hover,.sidebar nav>a.active,.sidebar details a:hover{background:#1d3a30;color:white}.sidebar nav i{font-size:15px}.sidebar details summary{list-style:none;font-size:12px;letter-spacing:1.2px;color:#627a70;padding:15px 12px 6px;cursor:pointer}.sidebar details summary::-webkit-details-marker{display:none}.user{display:flex;align-items:center;gap:9px;border-top:1px solid #294239;padding:14px 7px 0;margin-top:auto}.user>span{width:33px;height:33px;border-radius:50%;background:#e5b94f;color:#26352f;display:grid;place-items:center;font-weight:800}.user div{display:flex;flex-direction:column;font-size:13px}.user>a{margin-left:auto;color:#8ca096}.main{margin-left:240px;min-height:100vh}.topbar{height:68px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:10}.topbar>div:first-of-type{display:flex;flex-direction:column}.topbar small{font-size:11px;color:var(--muted)}.topbar strong{font-size:15px;margin-top:3px}.top-actions{display:flex;align-items:center;gap:14px;margin-left:auto;color:var(--muted);font-size:12px}.top-actions button{width:34px;height:34px;background:white;border:1px solid var(--line);border-radius:8px;position:relative}.top-actions em{position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;top:6px;right:6px}.mobile-menu{display:none}.page{max-width:1450px;margin:auto;padding:27px 30px 50px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:19px}.page-head p,.record-modal header p{font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--green);margin:0 0 7px}.page-head h1{font:800 26px Manrope;margin:0 0 4px}.page-head h1 i{color:var(--green);font-size:22px;margin-right:7px}.page-head span{font-size:12px;color:var(--muted)}.btn{border:1px solid var(--line);border-radius:8px;padding:9px 13px;font-size:12px;font-weight:700;cursor:pointer}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.secondary{background:white;color:#52615a}.wide{width:100%}.shift-alert{display:flex;align-items:center;gap:12px;border:1px solid #cde7dc;background:#eaf5f0;border-radius:9px;padding:11px 15px;margin-bottom:16px}.shift-alert>span{width:9px;height:9px;border-radius:50%;background:#16a274;box-shadow:0 0 0 5px #cfebe0}.shift-alert div{display:flex;flex-direction:column}.shift-alert strong{font-size:11px}.shift-alert small{font-size:9px;color:#698078;margin-top:3px}.shift-alert a{margin-left:auto;color:var(--green);font-size:10px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.stats article{background:white;border:1px solid var(--line);border-radius:10px;padding:16px}.stats article>i{float:right;width:31px;height:31px;border-radius:8px;background:#e7f4ee;color:var(--green);display:grid;place-items:center;font-size:15px}.stats small{display:block;color:var(--muted);font-size:9px;margin-bottom:8px}.stats strong{display:block;font:800 20px Manrope;margin-bottom:7px}.stats em{font-style:normal;font-size:8px;background:#e7f5ef;color:#07805d;border-radius:10px;padding:3px 6px}.stats em.red{background:#fae8e5;color:var(--red)}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:17px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel-head h3{font:800 14px Manrope;margin:0 0 3px}.panel-head small{font-size:11px;color:var(--muted)}.panel-head a{color:var(--green);font-size:10px;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:14px}.fuel-bars{display:flex;flex-direction:column;gap:16px;margin-top:22px}.fuel-bars label{display:flex;justify-content:space-between;font-size:10px}.fuel-bars i{display:block;background:#edf1ef;height:7px;border-radius:7px;margin-top:7px;overflow:hidden}.fuel-bars em{display:block;height:100%;background:linear-gradient(90deg,#087356,#34a27c);border-radius:7px}.payments{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.payments div{border-bottom:1px solid var(--line);padding-bottom:9px;display:flex;justify-content:space-between;font-size:10px}.payments span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px}.tank-panel{margin-bottom:14px}.tank-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.tank-card{border:1px solid var(--line);border-radius:8px;padding:12px}.tank-card>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.tank-card b{width:31px;height:31px;border-radius:7px;background:#e8f3ee;color:var(--green);display:grid;place-items:center;font-size:10px}.tank-card div>span{display:flex;flex-direction:column}.tank-card div strong{font-size:9px}.tank-card div small{font-size:8px;color:var(--muted);margin-top:2px}.tank-card div em{font-style:normal;font-size:8px}.tank-card div em.low{background:#f9e8e5;color:var(--red);padding:3px 5px;border-radius:9px}.tank-card>i{display:block;height:5px;background:#edf0ee;border-radius:5px;margin:12px 0 8px;overflow:hidden}.tank-card>i span{display:block;height:100%;background:var(--green)}.tank-card footer{display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}.table-panel{padding:0}.table-panel>.panel-head{padding:16px;border-bottom:1px solid var(--line)}.table-scroll{overflow:auto}table{width:100%;min-width:800px;border-collapse:collapse}th{text-align:left;padding:11px 14px;background:#fafbfa;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:#819088}td{padding:12px 12px;border-bottom:1px solid #edf0ee;font-size:10px;color:#59675f}td strong{color:#25352e}.badge{display:inline-block;background:#e5f4ed;color:var(--green);border-radius:11px;padding:4px 7px;font-size:10px;font-weight:700}.toolbar{display:flex;justify-content:flex-end;gap:7px;margin-bottom:12px}.toolbar label{margin-right:auto;background:white;border:1px solid var(--line);border-radius:8px;padding:0 10px;display:flex;align-items:center;color:#77847e}.toolbar input{border:0;outline:0;padding:9px;width:230px;font-size:10px}.actions{white-space:nowrap}.actions button,.actions a{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);background:white;border-radius:6px;color:var(--green);margin-right:3px}.actions a{color:var(--red)}.empty{text-align:center;padding:40px}.modal-overlay{display:none;position:fixed;inset:0;background:#071610aa;z-index:50;place-items:center;padding:20px}.modal-overlay.show{display:grid}.record-modal{background:white;border-radius:13px;width:min(700px,100%);max-height:92vh;overflow:auto;box-shadow:0 25px 80px #0005}.record-modal header{display:flex;justify-content:space-between;padding:19px 22px 14px;border-bottom:1px solid var(--line)}.record-modal h2{font:800 19px Manrope;margin:0}.record-modal header button{border:0;background:#f0f3f2;width:30px;height:30px;border-radius:50%;font-size:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px 22px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:9px;font-weight:700;color:#52615a}.form-grid input,.form-grid select,.form-grid textarea{padding:9px;border:1px solid #dce2df;border-radius:7px;outline:0;font-size:10px;background:white}.form-grid textarea{min-height:65px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#4b9a7e;box-shadow:0 0 0 3px #dff1ea}.record-modal footer{display:flex;justify-content:flex-end;gap:7px;padding:14px 22px;background:#f7f8f7}.toast-success{position:fixed;right:22px;bottom:22px;background:#113027;color:white;padding:12px 17px;border-radius:8px;font-size:10px;z-index:80}.toast-success i{color:#4ad59e;margin-right:7px}.login-body{background:var(--dark)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-brand{padding:9vh 9vw;color:white;position:relative;background:radial-gradient(circle at 10% 90%,#1d5a44,transparent 45%),var(--dark)}.login-brand>p{font-size:9px;letter-spacing:2px;color:#8ca197;margin-top:45px}.login-brand h1{font:800 clamp(38px,5vw,70px)/1.08 Manrope;margin:17px 0 20px}.login-brand h1 em{font-style:normal;color:var(--gold)}.login-brand>span{display:block;max-width:480px;color:#9dafA7;font-size:13px;line-height:1.7}.brand-stats{display:flex;gap:45px;margin-top:60px}.brand-stats div{display:flex;flex-direction:column}.brand-stats strong{font:800 24px Manrope;color:var(--gold)}.brand-stats small{font-size:9px;color:#8ba096}.login-card{background:#f5f7f6;display:grid;place-items:center;padding:30px}.login-card>div{width:min(380px,100%)}.login-card .eyebrow{font-size:9px;letter-spacing:1.4px;color:var(--green);font-weight:800}.login-card h2{font:800 28px Manrope;margin:8px 0}.login-card>div>span{color:var(--muted);font-size:11px}.login-card form{margin-top:25px}.login-card form>label{display:flex;flex-direction:column;font-size:10px;font-weight:700;gap:7px;margin-bottom:14px}.login-card input{padding:12px;border:1px solid #d7dfdb;border-radius:8px}.login-row{display:flex;justify-content:space-between;font-size:9px;margin-bottom:18px}.login-row .check{display:flex;flex-direction:row;align-items:center}.login-row a{color:var(--green);font-weight:700}.demo{text-align:center;font-size:9px;color:var(--muted)}.alert.error{background:#fae7e4;color:#a94136;padding:10px;border-radius:7px;margin-top:14px;font-size:10px}
@media(max-width:1000px){.stats,.tank-grid{grid-template-columns:1fr 1fr}.login-brand{padding:8vh 6vw}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.mobile-menu{display:block;border:0;background:transparent;font-size:20px;margin-right:11px}.page{padding:20px 14px}.dashboard-grid{grid-template-columns:1fr}.top-actions>span{display:none}.page-head{align-items:flex-start}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.form-grid{grid-template-columns:1fr}.toolbar label{width:100%}.toolbar{flex-wrap:wrap}.toolbar input{width:100%}}@media(max-width:480px){.stats,.tank-grid{grid-template-columns:1fr}.page-head h1{font-size:22px}.page-head>button,.page-head>a{white-space:nowrap}.payments{grid-template-columns:1fr}}
.brand-logo{width:52px;height:52px;flex:0 0 52px;object-fit:contain;background:#fff;border-radius:10px;padding:2px}.login-logo{display:block;width:min(260px,75%);max-height:230px;object-fit:contain;background:#fff;border-radius:18px;padding:8px;box-shadow:0 15px 45px #0003}.login-brand>.login-logo+p{margin-top:24px}
@media print{.sidebar,.topbar,.toolbar,.page-head .btn,.actions{display:none!important}.main{margin:0}.page{padding:0}.panel{border:0}}
.role-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.role-tabs a{background:white;border:1px solid var(--line);padding:9px 14px;border-radius:8px;font-size:10px;font-weight:700}.role-tabs a.active{background:var(--green);border-color:var(--green);color:white}.permission-panel{padding:0}.permission-panel>.panel-head{padding:17px;border-bottom:1px solid var(--line)}.select-all{font-size:10px;font-weight:700;color:var(--green)}.permission-grid{padding:17px;display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.permission-grid section{border:1px solid var(--line);border-radius:9px;overflow:hidden}.permission-grid section>h3{font:800 11px Manrope;text-transform:uppercase;letter-spacing:.4px;background:#f7f9f8;padding:10px 12px;margin:0;border-bottom:1px solid var(--line)}.permission-grid section>div{padding:7px 12px}.permission-grid label{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #edf0ee}.permission-grid label:last-child{border-bottom:0}.permission-grid input{accent-color:var(--green);width:15px;height:15px}.permission-grid label span{display:flex;flex-direction:column}.permission-grid label strong{font-size:10px}.permission-grid label small{font-size:8px;color:var(--muted);margin-top:2px}.permission-panel>footer{display:flex;justify-content:flex-end;padding:14px 17px;background:#f7f9f8;border-top:1px solid var(--line)}.module-actions{display:flex;justify-content:flex-end;gap:7px;margin:-2px 0 12px}.report-filter{display:flex;align-items:flex-end;gap:10px;background:white;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px}.report-filter label{display:flex;flex-direction:column;gap:5px;font-size:9px;font-weight:700;color:#5d6b64}.report-filter input,.report-filter select{min-width:180px;border:1px solid var(--line);border-radius:7px;padding:8px;background:white;font-size:10px}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.client-status header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.client-status h3{font:800 14px Manrope;margin:0 0 3px}.client-status header small{font-size:9px;color:var(--muted)}.client-status header>span{font-size:9px;font-weight:700;padding:5px 8px;border-radius:12px}.client-status .due{background:#fae8e5;color:var(--red)}.client-status .paid{background:#e5f4ed;color:var(--green)}.status-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.status-numbers>div{background:#f6f8f7;border-radius:7px;padding:9px;display:flex;flex-direction:column}.status-numbers small{font-size:8px;color:var(--muted)}.status-numbers strong{font:700 12px Manrope;margin-top:4px}.purchase-lines{border-top:1px solid var(--line);margin-top:5px;padding-top:6px}.purchase-lines p{display:flex;justify-content:space-between;font-size:9px;margin:0;padding:7px 0;border-bottom:1px solid #edf0ee}.purchase-lines .muted{color:var(--muted)}.whatsapp-btn{display:block;text-align:center;background:#148c5a;color:white;border-radius:8px;padding:10px;margin-top:13px;font-size:10px;font-weight:700}.missing-number{display:block;background:#fff3dd;color:#9b680d;border-radius:7px;padding:9px;margin-top:12px;font-size:9px}.calculated-field{background:#f1f4f2!important;color:#5e6b65}@media(max-width:760px){.permission-grid,.status-grid{grid-template-columns:1fr}.report-filter{flex-wrap:wrap}.report-filter label{width:100%}.report-filter input,.report-filter select{width:100%}.status-numbers{grid-template-columns:1fr}}
.sale-rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:white;border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:14px}.sale-rate-grid label,.cash-grid label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#52615a}.sale-rate-grid input,.sale-rate-grid select,.cash-grid input{border:1px solid var(--line);border-radius:7px;padding:10px;background:white}.sale-report-panel{padding:0;margin-bottom:14px}.sale-report-panel>.panel-head{padding:16px;border-bottom:1px solid var(--line)}.sale-calc-table{min-width:950px}.sale-calc-table td small{display:block;color:var(--muted);margin-top:3px}.sale-calc-table td small.reading-warning{color:#b56a08;font-weight:700}.sale-calc-table input{width:115px;border:1px solid #dce2df;border-radius:6px;padding:7px;font-size:10px}.sale-calc-table input[readonly]{background:#f2f5f3}.sale-calc-table tfoot th{background:#eef6f2;color:var(--green);font-weight:800}.row-amount{font-weight:800;color:var(--ink)}.sale-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.summary-table{min-width:0;margin-top:14px}.summary-table td,.summary-table th{padding:10px}.summary-table .total-row th{background:#edf6f2;color:var(--green);font-weight:800}.cash-panel{margin-bottom:14px}.cash-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:15px}.cash-grid input[readonly]{background:#f1f4f2;font-weight:800}.sale-save{display:flex;justify-content:flex-end;margin-bottom:25px}@media(max-width:900px){.sale-rate-grid,.sale-summary-grid{grid-template-columns:1fr}.cash-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.cash-grid{grid-template-columns:1fr}}

/* Responsive Petro360 branding. Strict bounds prevent the source image from
   expanding to its intrinsic 1254px square size if other styles are cached. */
.sidebar .brand .brand-logo{
	display:block!important;
	width:48px!important;
	height:48px!important;
	min-width:48px!important;
	max-width:48px!important;
	min-height:48px!important;
	max-height:48px!important;
	object-fit:contain!important;
	object-position:center!important;
	background:#fff;
	border-radius:10px;
	padding:3px;
}
.login-brand{overflow:hidden}
.login-brand .login-logo{
	display:block!important;
	width:clamp(160px,18vw,230px)!important;
	height:auto!important;
	max-width:230px!important;
	max-height:230px!important;
	aspect-ratio:1/1;
	object-fit:contain!important;
	object-position:center!important;
	background:#fff;
	border-radius:18px;
	padding:8px;
	box-shadow:0 15px 45px #0003;
}
.login-brand>.login-logo+p{margin-top:24px}
@media(max-width:1000px){
	.login-brand .login-logo{
		width:clamp(140px,20vw,190px)!important;
		max-width:190px!important;
		max-height:190px!important;
	}
}
.sales-date-filter{display:flex;align-items:flex-end;gap:7px}.toolbar .sales-date-filter label{margin:0;padding:5px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:9px;font-weight:700}.toolbar .sales-date-filter input{width:135px;padding:2px 0;background:transparent}@media(max-width:900px){.toolbar .sales-date-filter{width:100%;flex-wrap:wrap}.toolbar .sales-date-filter label{flex:1}.toolbar .sales-date-filter input{width:100%}}
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-top:1px solid var(--line);background:#fafbfa}.table-pagination>span{font-size:10px;color:var(--muted)}.table-pagination nav{display:flex;align-items:center;gap:5px}.table-pagination a{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:white;color:#52615a;display:grid;place-items:center;font-size:10px;font-weight:700}.table-pagination a:hover,.table-pagination a.active{background:var(--green);border-color:var(--green);color:white}.table-pagination em{font-style:normal;color:var(--muted);padding:0 2px}@media(max-width:600px){.table-pagination{align-items:flex-start;flex-direction:column}.table-pagination nav{flex-wrap:wrap}}
