@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17191d;--muted:#6d6d72;--line:#e9e3df;--orange:#1668d2;--orange-dark:#104f9d;--orange-pale:#eaf3ff;--surface:#fff;--bg:#fff;--shadow:0 18px 50px rgba(19,46,82,.08);font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:50%;background:white}.brand{letter-spacing:-.03em}.brand-accent{color:#555;font-size:11px;letter-spacing:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1769d2;outline-offset:2px}.page-decoration{position:fixed;border:42px solid #ffd6b4;border-radius:50%;width:350px;height:350px;pointer-events:none;z-index:-1;opacity:.5}.decoration-top{top:-250px;right:-160px}.decoration-bottom{bottom:-265px;left:-200px;border-color:#ffac61}.site-header{max-width:1400px;padding:24px 32px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:19px;letter-spacing:-.05em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--orange);color:white;border-radius:9px;transform:skew(-9deg)}.brand-accent{color:var(--orange)}.top-nav{display:flex;gap:8px}.top-nav a{padding:10px 16px;border-radius:12px;font-size:14px;font-weight:700;color:#626266}.top-nav a.active,.top-nav a:hover{background:#eaf3ff;color:var(--orange-dark)}main{max-width:1400px;margin:auto;padding:0 32px 70px}.hero{text-align:center;padding:25px 0 32px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--orange-dark);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before{content:'';width:34px;height:4px;background:var(--orange);border-radius:10px}.hero h1{font-size:clamp(32px,4vw,55px);line-height:1.1;letter-spacing:-.055em;margin:12px 0 8px}.hero p{color:var(--muted);font-size:19px;margin:0}.category-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 auto 22px;max-width:1100px}.category-card{background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:21px;padding:18px 8px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:119px;box-shadow:0 8px 22px rgba(67,42,22,.035);transition:.2s}.category-card:hover{transform:translateY(-2px);border-color:#ffbd82}.category-card.selected{background:#eef5ff;border:2px solid #1769d2;box-shadow:0 12px 25px rgba(255,118,0,.1);color:var(--orange-dark)}.category-card .emoji{font-size:37px;line-height:1.2;filter:saturate(.9)}.category-card span:last-child{font-weight:700;font-size:14px}.section-card{background:var(--surface);border:1px solid #f1ece9;border-radius:28px;box-shadow:var(--shadow)}.model-section{padding:24px;margin:0 auto 26px;max-width:1100px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-heading h2{font-size:20px;letter-spacing:-.035em;margin:0}.section-heading span{color:var(--muted);font-size:13px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.model-card{padding:0 0 16px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;position:relative;text-align:left;transition:.2s;min-width:0}.model-card:hover{border-color:#ffae68;transform:translateY(-2px)}.model-card.selected{border:2px solid #1769d2;box-shadow:0 9px 20px rgba(255,118,0,.1)}.model-card.busy{opacity:.72}.model-photo{width:100%;height:150px;display:block;overflow:hidden;background:#e9e8e2}.model-photo .machine-art,.admin-photo .machine-art,.detail-photo .machine-art{width:100%;height:100%}.machine-art{background-image:url('./assets/equipment-sheet.png');background-size:300% 200%;background-repeat:no-repeat;background-position:0 0}.machine-art[data-image="dump"]{background-position:50% 0}.machine-art[data-image="loader"]{background-position:100% 0}.machine-art[data-image="crane"]{background-position:0 100%}.machine-art[data-image="dozer"]{background-position:50% 100%}.machine-art[data-image="excavator-orange"]{background-position:100% 100%}.machine-art[data-image="excavator-yellow"]{background-position:0 0}.machine-img{width:100%;height:100%;object-fit:cover;display:block}.model-card strong{display:block;font-size:15px;padding:12px 13px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-card small{display:block;color:var(--muted);padding:0 13px;font-size:12px}.model-card .check{position:absolute;top:10px;right:10px;border-radius:50%;background:var(--orange);color:white;width:27px;height:27px;display:grid;place-items:center;font-weight:800}.model-card .busy-pill{position:absolute;top:10px;right:10px;background:#fff2df;color:#ce6400;font-size:11px;font-weight:800;padding:5px 8px;border-radius:20px}.empty-state{text-align:center;padding:36px 15px;color:var(--muted)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,1fr);gap:28px;max-width:1100px;margin:auto;padding:24px}.detail-photo{height:350px;border-radius:20px;overflow:hidden;background:#eee}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:22px 0 7px}.detail-header h2{font-size:clamp(23px,2.5vw,32px);letter-spacing:-.045em;margin:0}.price{color:var(--orange-dark);font-weight:800;white-space:nowrap;font-size:20px}.detail-copy{color:#56575c;line-height:1.55;margin:0 0 19px}.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.spec{border:1px solid var(--line);background:#fffdfa;border-radius:14px;padding:11px 13px}.spec small{display:block;color:#858489;font-size:11px;margin-bottom:3px}.spec strong{font-size:13px}.booking-panel{background:#f7faff;border:1px solid #f1e7e0;border-radius:21px;padding:24px;align-self:start}.booking-panel h2{margin:0 0 5px;font-size:24px;letter-spacing:-.04em}.booking-panel>p{margin:0 0 18px;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#55565b;min-width:0}.field.full{grid-column:1/-1}.control{width:100%;min-height:45px;border:1px solid #e5dfdc;border-radius:12px;background:#fff;color:var(--ink);padding:10px 12px;font-size:13px;outline:none}.control:focus{border-color:#6ca3e5;box-shadow:0 0 0 3px #eaf3ff}.control::placeholder{color:#a5a3a2}textarea.control{resize:vertical;min-height:74px}.primary-btn{border:0;border-radius:14px;background:linear-gradient(100deg,#1769d2,#3783e0);color:white;font-weight:800;padding:13px 17px;box-shadow:0 10px 22px rgba(255,118,0,.18);transition:.18s}.primary-btn:hover{background:linear-gradient(100deg,#ed6c00,#ff8400);transform:translateY(-1px)}.primary-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.booking-panel .primary-btn{width:100%;margin-top:15px;min-height:49px}.form-note{font-size:11px;color:#888;line-height:1.45;margin:10px 0 0}.site-footer{border-top:1px solid var(--line);max-width:1400px;padding:22px 32px 35px;margin:auto;display:flex;justify-content:space-between;gap:20px;color:#8e8986;font-size:10px;line-height:1.6}.site-footer span:last-child{max-width:660px;text-align:right}
/* Admin */
.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px;min-height:680px}.admin-sidebar{background:#fff9f5;border:1px solid #f1e9e3;border-radius:24px;padding:25px 16px}.admin-sidebar h2{font-size:19px;line-height:1.2;margin:5px 10px 35px}.sidebar-item{display:block;width:100%;border:0;border-radius:14px;background:#eaf3ff;color:#124f9c;font-weight:800;padding:13px 15px;text-align:left}.sidebar-foot{margin:32px 10px 0;color:#8c8580;font-size:11px;line-height:1.5}.admin-main{padding-top:9px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.admin-title h1{font-size:clamp(30px,3.2vw,43px);letter-spacing:-.055em;line-height:1.1;margin:0}.admin-title h1:before{content:'';display:block;width:67px;height:6px;background:var(--orange);border-radius:10px;margin-bottom:16px}.admin-toolbar{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.85fr) auto;gap:11px;align-items:end}.search-wrap{position:relative}.search-wrap:before{content:'⌕';position:absolute;left:14px;top:8px;font-size:24px;line-height:1;color:#6e6d70}.search-wrap input{padding-left:44px}.admin-toolbar .control{height:50px;background:#fff}.admin-toolbar .primary-btn{height:50px;white-space:nowrap}.admin-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;color:#69676a;font-size:13px}.admin-meta-right{display:flex;align-items:center;gap:10px}.view-toggle{display:flex;border:1px solid var(--line);border-radius:11px;overflow:hidden}.view-toggle button{background:white;border:0;padding:7px 10px;color:#777}.view-toggle button.active{background:var(--orange-pale);color:var(--orange-dark)}.sort-control{min-height:36px;border-radius:10px;padding:6px 9px;font-size:12px}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-grid.list{grid-template-columns:1fr}.admin-card{background:white;border:1px solid #eee8e4;border-radius:20px;padding:12px;box-shadow:0 8px 23px rgba(64,42,30,.07);min-width:0}.admin-card-top{display:grid;grid-template-columns:44% minmax(0,1fr);gap:11px;min-height:194px}.admin-photo{border-radius:13px;overflow:hidden;background:#e5e4df;height:194px}.admin-card-info{min-width:0;display:flex;flex-direction:column}.admin-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:5px}.admin-name-row h3{font-size:14px;line-height:1.3;letter-spacing:-.02em;margin:1px 0 7px;min-width:0}.status{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;border:0;border-radius:20px;font-size:10px;font-weight:800;padding:4px 6px}.status.available{color:#18863b;background:#e4f8e9}.status.busy{color:#db720b;background:#eaf3ff}.admin-category{font-size:11px;margin-bottom:7px}.admin-spec{display:flex;gap:5px;color:#55565b;font-size:11px;line-height:1.35;margin:0 0 4px}.admin-spec b{color:#292a2d}.admin-price{margin-top:auto;background:#eaf3ff;border-radius:11px;padding:5px 9px;font-weight:800;font-size:16px}.admin-actions{display:flex;gap:7px;margin-top:10px}.secondary-btn,.danger-btn{border:1px solid #e7e1dd;background:#fff;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800;color:#3a3a3c}.secondary-btn:hover{background:#eef5ff;border-color:#aacbf0}.admin-actions .secondary-btn{flex:1}.danger-btn{color:#ad4239}.danger-btn:hover{background:#fff0ed}.list .admin-card-top{grid-template-columns:210px 1fr;min-height:145px}.list .admin-photo{height:145px}.list .admin-card-info{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:start;column-gap:20px}.list .admin-price{grid-column:3;grid-row:1/5;margin-top:0}.admin-hint{background:#fff2e6;border:1px solid #ffd4ae;color:#7a4d2f;font-size:11px;line-height:1.5;padding:10px 13px;border-radius:12px;margin-top:20px}
/* Access + editor */
.login-wrap{min-height:64vh;display:grid;place-items:center}.login-card{width:min(100%,420px);padding:32px}.login-card .lock{display:grid;place-items:center;width:50px;height:50px;background:var(--orange-pale);color:var(--orange-dark);border-radius:15px;font-size:24px;margin-bottom:20px}.login-card h1{font-size:29px;letter-spacing:-.05em;margin:0 0 5px}.login-card p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 22px}.login-card .primary-btn{width:100%;margin-top:14px}.login-error{font-size:12px;color:#bf352e;min-height:20px;margin-top:8px}.text-link{border:0;background:none;color:var(--orange-dark);font-size:12px;font-weight:800;padding:0}.modal-backdrop{position:fixed;inset:0;background:rgba(31,22,16,.53);display:grid;place-items:center;padding:18px;z-index:20}.modal{width:min(100%,680px);max-height:min(92vh,900px);overflow:auto;background:white;border-radius:24px;box-shadow:0 24px 80px rgba(27,17,12,.25)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:23px;letter-spacing:-.04em}.icon-button{width:34px;height:34px;display:grid;place-items:center;background:#fff5ec;border:0;border-radius:10px;font-size:22px}.modal-body{padding:21px 24px 25px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.upload-area{border:1px dashed #78a9e3;border-radius:14px;background:#fffaf5;padding:13px;min-height:76px}.upload-area small{display:block;color:#8a837d;font-weight:400;margin-top:3px}.upload-preview{height:126px;border-radius:11px;overflow:hidden;margin-top:9px;background:#eee}.editor-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:21px}.editor-actions button{min-width:110px}.modal-help{font-size:11px;line-height:1.5;color:#8b8480;margin-top:7px}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#252321;color:white;padding:11px 17px;border-radius:12px;box-shadow:0 12px 30px #0002;font-size:13px;opacity:0;pointer-events:none;transition:.22s;z-index:50;max-width:calc(100vw - 30px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1160px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card-top{grid-template-columns:43% 1fr}}
@media(max-width:820px){.booking-layout{grid-template-columns:1fr}.detail-photo{height:330px}.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:flex;align-items:center;justify-content:space-between;min-height:0;padding:12px 15px}.admin-sidebar h2{margin:0;font-size:15px}.admin-sidebar .sidebar-item{width:auto}.sidebar-foot{display:none}.admin-toolbar{grid-template-columns:1fr 1fr}.admin-toolbar .primary-btn{grid-column:1/-1}.category-row{gap:8px}.category-card{min-height:100px}.category-card .emoji{font-size:28px}.category-card span:last-child{font-size:11px}}
@media(max-width:600px){.site-header{padding:17px 17px;align-items:flex-start}.brand{font-size:14px}.brand-mark{width:27px;height:27px}.top-nav{gap:2px}.top-nav a{font-size:11px;padding:8px}.hero{padding:25px 0}.hero p{font-size:15px}main{padding:0 15px 48px}.category-row{display:flex;overflow:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.category-card{min-width:105px;scroll-snap-align:start;padding:12px 5px;min-height:92px;border-radius:16px}.model-section{padding:17px;border-radius:20px}.model-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory}.model-card{min-width:210px;scroll-snap-align:start}.model-photo{height:127px}.booking-layout{padding:15px;gap:18px;border-radius:20px}.detail-photo{height:230px}.detail-header{flex-direction:column;margin-top:17px}.detail-header h2{font-size:25px}.booking-panel{padding:17px}.form-grid{gap:9px}.site-footer{padding:22px 16px 30px;display:block}.site-footer span{display:block}.site-footer span:last-child{text-align:left;margin-top:8px}.admin-sidebar{border-radius:15px}.admin-title{align-items:flex-end}.admin-title h1{font-size:29px}.admin-toolbar{display:grid;grid-template-columns:1fr}.admin-toolbar .primary-btn{grid-column:auto}.admin-meta{align-items:flex-start}.admin-meta-right{flex-wrap:wrap;justify-content:flex-end}.admin-grid{grid-template-columns:1fr}.admin-card-top{grid-template-columns:44% 1fr}.editor-grid{grid-template-columns:1fr}.modal-body{padding:17px}.modal-header{padding:17px}.field.full{grid-column:auto}}

/* Booking controls */
.picker{position:relative}.picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-weight:700}.picker-icon{font-size:19px;line-height:1;color:var(--orange-dark)}.picker-icon.chevron{font-size:23px;transform:translateY(-3px)}.picker-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:10;background:white;border:1px solid #efd8c5;border-radius:17px;box-shadow:0 18px 42px rgba(57,31,13,.18);padding:13px}.picker-popover[hidden]{display:none!important}.calendar-popover{width:min(316px,calc(100vw - 64px))}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:11px}.calendar-head strong{font-size:13px;text-transform:capitalize;white-space:nowrap}.calendar-nav{width:31px;height:31px;border:0;border-radius:9px;background:#fff3e8;color:var(--orange-dark);font-size:22px;line-height:1}.calendar-nav:hover:not(:disabled){background:#ffe1c4}.calendar-nav:disabled{opacity:.3;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{display:grid;place-items:center;height:27px;font-size:10px;font-weight:800;color:#888}.calendar-day{width:100%;aspect-ratio:1;border:0;border-radius:9px;background:transparent;font-size:12px;color:#333}.calendar-day:hover:not(:disabled){background:#eaf3ff;color:var(--orange-dark)}.calendar-day.today{box-shadow:inset 0 0 0 1px #78a9e3}.calendar-day.selected{background:var(--orange);color:white;box-shadow:none;font-weight:800}.calendar-day:disabled{opacity:.27;cursor:default}.calendar-today{border:0;background:none;color:var(--orange-dark);font-size:11px;font-weight:800;margin-top:10px;padding:4px}.payment-popover{width:100%;min-width:210px;padding:5px}.payment-popover button{width:100%;border:0;border-radius:11px;background:white;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;text-align:left;font-size:12px}.payment-popover button:hover,.payment-popover button[aria-selected="true"]{background:#eaf3ff;color:var(--orange-dark);font-weight:800}.hours-control{min-height:45px;display:grid;grid-template-columns:39px minmax(0,1fr) 39px;align-items:stretch;border:1px solid #e5dfdc;border-radius:12px;background:white;overflow:hidden}.hours-control:focus-within{border-color:#6ca3e5;box-shadow:0 0 0 3px #eaf3ff}.hours-control button{border:0;background:#fff9f4;color:var(--orange-dark);font-size:20px;font-weight:800}.hours-control button:hover{background:#ffead5}.hours-control input{width:100%;min-width:0;border:0;outline:0;text-align:center;font-size:14px;font-weight:800;color:var(--ink);-moz-appearance:textfield}.hours-control input::-webkit-outer-spin-button,.hours-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.estimate{margin-top:16px;padding:16px 17px;border:1px solid #ffd2a5;border-radius:15px;background:linear-gradient(115deg,#fff1e2,#fff8ec)}.estimate>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.estimate-label{font-size:12px;font-weight:800;color:#8a542c}.estimate strong{font-size:24px;letter-spacing:-.045em;white-space:nowrap}.estimate>span{display:block;font-size:12px;font-weight:700;margin-top:5px}.estimate small{display:block;font-size:10px;color:#8a8178;margin-top:5px}

.model-card{display:flex;flex-direction:column}.model-card small{margin-bottom:8px}.model-price{align-self:flex-start;margin:0 12px;padding:5px 9px;border-radius:10px;background:#eaf3ff;color:#124f9c;font-size:13px;font-weight:800;line-height:1.3}

/* Responsive catalog controls */
.admin-main{min-width:0}.admin-meta-right{min-width:0}.view-toggle{flex:0 0 auto}.view-toggle button{min-height:38px;min-width:82px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:17px;font-weight:800}.view-toggle button span{font-size:11px}.sort-control{min-width:148px;width:auto;flex:0 1 190px}
@media(max-width:820px){.admin-meta{display:grid;grid-template-columns:1fr;align-items:start;gap:10px}.admin-meta-right{width:100%;justify-content:space-between}.admin-meta-right .sort-control{width:auto;flex:1;min-width:0}.view-toggle button{min-width:96px}.admin-grid{grid-template-columns:1fr}.admin-card-top{grid-template-columns:minmax(0,35%) minmax(0,1fr)}.list .admin-card-info{display:flex;flex-direction:column}.list .admin-price{margin-top:auto}}
@media(max-width:600px){.admin-meta-right{flex-wrap:nowrap;gap:8px}.admin-card-top,.list .admin-card-top{grid-template-columns:minmax(0,44%) minmax(0,1fr);min-height:194px}.list .admin-photo{height:194px}.admin-name-row{flex-wrap:wrap}.admin-meta-right .sort-control{flex:1;min-width:0}.view-toggle button{min-width:76px}.booking-panel .form-grid .field.full{grid-column:1/-1}}
@media(max-width:390px){.admin-meta-right{display:grid;grid-template-columns:1fr}.view-toggle{width:100%}.view-toggle button{width:50%}.admin-meta-right .sort-control{width:100%}.estimate>div{align-items:flex-start;flex-direction:column;gap:4px}.booking-panel .form-grid .full-mobile{grid-column:1/-1}}

/* Center category tiles as a group when they wrap. */
.category-row{display:flex;flex-wrap:wrap;justify-content:center;}
.category-card{flex:0 1 205px;}
@media(max-width:600px){.category-row{justify-content:flex-start;flex-wrap:nowrap}.category-card{flex:0 0 105px}}
