:root{--paper:#fff;--wash:#f7f7f8;--ink:#101010;--muted:#676767;--line:#d9d9dc;--accent:#e4002b;--good:#18794e;--warn:#9a6700;color:var(--ink);background:var(--wash);font-family:Arial,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;height:76px;padding:0 4vw;display:flex;position:sticky;top:0}.brand{letter-spacing:-1px;font-size:24px;font-weight:800}.brand-dot{color:var(--accent)}.nav{align-items:center;gap:6px;display:flex}.nav a{color:var(--muted);padding:12px 16px}.nav a:hover{color:var(--ink);background:var(--wash)}.primary,.button{background:var(--accent);color:#fff;border:0;padding:12px 18px;font-weight:700}.button.secondary{background:var(--ink)}.container{width:min(1180px,92vw);margin:0 auto;padding:46px 0 80px}.page-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;display:flex}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:1.4px;font-size:12px;font-weight:700}.page-head h1,.hero h1{letter-spacing:-5px;margin:8px 0 0;font-size:clamp(42px,7vw,88px);line-height:.9}.page-head p{max-width:420px;color:var(--muted);line-height:1.5}.date-number{letter-spacing:-14px;color:var(--accent);font-size:clamp(90px,18vw,220px);font-weight:900;line-height:.7}.today-grid{border-top:1px solid var(--ink);grid-template-columns:300px 1fr;display:grid}.today-aside{border-right:1px solid var(--ink);padding:28px 24px 28px 0}.today-aside h1{text-transform:capitalize;margin:24px 0 8px;font-size:32px}.today-aside p{color:var(--muted);line-height:1.5}.timeline{padding-left:28px}.event{border-bottom:1px solid var(--line);grid-template-columns:92px 1fr auto;align-items:center;gap:20px;padding:24px 0;display:grid}.event-time{text-transform:uppercase;font-size:13px;font-weight:700}.event h2{margin:0 0 6px;font-size:21px}.event p{color:var(--muted);margin:0}.badge{text-transform:uppercase;letter-spacing:.5px;border:1px solid;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge.red{color:var(--accent)}.badge.green{color:var(--good)}.badge.amber{color:var(--warn)}.summary{border:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(4,1fr);margin-top:32px;display:grid}.metric{border-right:1px solid var(--line);padding:22px}.metric:last-child{border:0}.metric strong{font-size:34px;display:block}.metric span{color:var(--muted);text-transform:uppercase;font-size:12px}.table-wrap{background:var(--paper);border-top:2px solid var(--ink);overflow:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);border-bottom:1px solid var(--ink);padding:15px;font-size:11px}td{border-bottom:1px solid var(--line);padding:18px 15px}tr:hover td{background:var(--wash)}.card-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.garment{background:var(--paper);border:1px solid var(--line)}.garment img{object-fit:cover;filter:saturate(.8);width:100%;height:230px}.garment-body{padding:18px}.garment h2{margin:0 0 8px;font-size:20px}.meta{color:var(--muted);font-size:13px}.form{background:var(--paper);border-top:3px solid var(--accent);max-width:850px;padding:30px}.fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.field label{text-transform:uppercase;font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;padding:13px}.checks{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.check{border:1px solid var(--line);gap:10px;padding:12px;display:flex}.actions{gap:10px;margin-top:26px;display:flex}.empty{text-align:center;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line);padding:56px 20px}@media (max-width:760px){.topbar{align-items:flex-start;height:auto;padding:16px 4vw}.nav{grid-template-columns:repeat(3,1fr);display:grid}.nav a{padding:8px;font-size:13px}.primary{display:none}.container{padding-top:28px}.page-head{flex-direction:column;align-items:start}.page-head h1,.hero h1{letter-spacing:-3px}.today-grid{grid-template-columns:1fr}.today-aside{border-right:0;border-bottom:1px solid var(--ink);padding-right:0}.timeline{padding-left:0}.event{grid-template-columns:70px 1fr}.event .badge{grid-column:2}.summary{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.card-grid,.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.checks{grid-template-columns:1fr}}
.garment-checks{border:1px solid var(--line);max-height:440px;padding:8px;overflow:auto}.garment-checks .check{background:#fff}
.card-actions{border-top:1px solid var(--line);gap:18px;margin-top:18px;padding-top:14px;display:flex}.card-actions a{text-underline-offset:3px;font-size:13px;font-weight:700;text-decoration:underline}.garment-profile{border-top:2px solid var(--ink);background:var(--paper);grid-template-columns:minmax(280px,520px) 1fr;display:grid}.garment-photo{border-right:1px solid var(--line)}.garment-photo img{width:100%;height:auto;display:block}.garment-facts{padding:32px}.garment-facts dl{margin:28px 0 0}.garment-facts dl div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;padding:17px 0;display:grid}.garment-facts dt{color:var(--muted);text-transform:uppercase;font-size:12px}.garment-facts dd{margin:0;font-weight:700}.agenda-section{margin-top:54px}.section-title{margin-bottom:20px}.section-title h2{letter-spacing:-1px;margin:6px 0;font-size:34px}@media (max-width:760px){.garment-profile{grid-template-columns:1fr}.garment-photo{border-right:0;border-bottom:1px solid var(--line)}}
.calendar-head{text-align:center;justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.calendar-head h2{text-transform:capitalize;margin:5px 0;font-size:32px}.calendar{border:1px solid var(--line);background:#fff;padding:18px}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-week b{text-align:center;padding:8px;font-size:12px}.calendar-day{border:1px solid;min-height:92px;padding:9px;overflow:hidden}.calendar-day small{margin-top:8px;font-size:10px;line-height:1.25;display:block}.calendar-day.available{color:var(--good);background:#f0faf5}.calendar-day.reserved{color:var(--accent);background:#fff1f3}.calendar-day.blocked{color:var(--warn);background:#fff8e6}.calendar-legend{gap:22px;margin-top:15px;font-size:12px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.calendar-legend i{width:14px;height:14px;display:block}.calendar-legend i.available{background:#d8f3e5}.calendar-legend i.reserved{background:#ffd9df}.calendar-legend i.blocked{background:#ffedbd}.split-sections{grid-template-columns:1fr 1fr;gap:28px;display:grid}.compact-form{padding:20px}.block-list{border-top:2px solid var(--ink);background:#fff}.block-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px;display:flex}.block-row small{color:var(--muted);margin-top:4px;display:block}.block-row button{background:0 0;border:0;text-decoration:underline}@media (max-width:760px){.calendar-day{min-height:54px;padding:5px}.calendar-day small{display:none}.calendar-head .button{padding:9px}.split-sections{grid-template-columns:1fr}.calendar-legend{flex-direction:column;gap:8px}}
.catalog-filters{border-top:2px solid var(--ink);background:#fff;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;margin-bottom:24px;padding:18px;display:grid}.catalog-filters input,.catalog-filters select{border:1px solid var(--line);padding:12px}@media (max-width:900px){.catalog-filters{grid-template-columns:1fr 1fr}}@media (max-width:520px){.catalog-filters{grid-template-columns:1fr}}
.date-step{background:var(--paper);border-top:3px solid var(--accent);grid-template-columns:1fr 1fr auto;align-items:end;gap:18px;margin-bottom:28px;padding:24px;display:grid}.date-step input{border:1px solid var(--line);padding:13px}.form-error{color:var(--accent);font-weight:700}.reservation-form{max-width:none}.reservation-period{border-bottom:1px solid var(--line);align-items:center;gap:14px;margin-bottom:22px;padding-bottom:20px;display:flex}.reservation-period span:last-child{color:var(--muted);margin-left:auto}.filter-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rental-garments{grid-template-columns:repeat(3,1fr);gap:12px;max-height:680px;padding:2px;display:grid;overflow:auto}.rental-garment{border:2px solid var(--line);cursor:pointer;background:#fff;position:relative}.rental-garment.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rental-garment img{object-fit:cover;width:100%;height:170px;display:block}.rental-garment>input{width:22px;height:22px;accent-color:var(--accent);position:absolute;top:12px;right:12px}.rental-garment-copy{flex-direction:column;gap:6px;padding:13px;display:flex}.rental-garment-copy small{color:var(--muted)}.rental-garment-copy b{color:var(--accent)}.garment-placeholder{background:var(--wash);height:170px;color:var(--muted);justify-content:center;align-items:center;display:flex}.payment-summary{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:25px;display:grid}.payment-summary div{border-right:1px solid var(--line);padding:18px}.payment-summary div:last-child{border:0}.payment-summary span{color:var(--muted);text-transform:uppercase;font-size:12px;display:block}.payment-summary strong{margin-top:4px;font-size:24px;display:block}@media (max-width:760px){.date-step,.filter-row,.rental-garments,.payment-summary{grid-template-columns:1fr}.payment-summary div{border-right:0;border-bottom:1px solid var(--line)}}
.reserved-garments{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;display:grid}.reserved-garment{border:1px solid var(--line);background:#fff}.reserved-garment img{object-fit:cover;width:100%;height:170px}.reserved-garment div{flex-direction:column;gap:7px;padding:14px;display:flex}.reserved-garment small{color:var(--muted)}.reserved-garment b{color:var(--accent)}.reservation-filters{border-top:3px solid var(--accent);border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1.15fr repeat(4,1fr) auto;align-items:end;gap:12px;margin-bottom:24px;padding:20px;display:grid}.reservation-filters .field{gap:5px}.reservation-filters input,.reservation-filters select{border:1px solid var(--line);background:#fff;min-width:0;padding:11px}.filter-actions{align-items:center;gap:12px;display:flex}.filter-actions a{text-underline-offset:3px;font-size:13px;text-decoration:underline}.reservation-row{cursor:pointer}.reservation-row td:first-child strong{color:var(--accent)}.reservation-row:hover td,.reservation-row:focus td{background:#fff0f2}.reservation-row:focus{outline:2px solid var(--accent);outline-offset:-2px}@media (max-width:980px){.reservation-filters{grid-template-columns:repeat(2,1fr)}.filter-actions{grid-column:1/-1}}@media (max-width:760px){.reserved-garments,.reservation-filters{grid-template-columns:1fr}.filter-actions{grid-column:auto}.reservation-row td{min-width:110px}}
.mobile-nav,.mobile-primary{display:none}@media (max-width:760px){body{background:var(--paper);padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{align-items:center;height:58px;padding:0 16px;box-shadow:0 1px 8px #1010100f}.brand{font-size:21px}.nav,.topbar>.primary{display:none}.mobile-primary{background:var(--ink);color:#fff;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.mobile-nav{z-index:30;padding:5px 4px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -4px 18px #10101012}.mobile-nav a{min-width:0;min-height:56px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;line-height:1;display:flex}.mobile-nav a.active{color:var(--accent);font-weight:700}.container{width:100%;padding:26px 16px 36px}.page-head{gap:18px;margin-bottom:24px}.page-head>div{width:100%}.page-head h1,.hero h1{letter-spacing:-3px;font-size:46px;line-height:.92}.page-head .button{width:100%}.page-head p{margin:0}.button,.primary{justify-content:center;align-items:center;min-height:46px;display:inline-flex}.today-grid{border-top:0}.today-aside{border-bottom:2px solid var(--ink);padding:0 0 22px;position:relative}.date-number{letter-spacing:-7px;font-size:88px;line-height:.78}.today-aside h1{margin:18px 0 6px;font-size:25px}.today-aside p{margin-bottom:0}.event{grid-template-columns:1fr auto;gap:8px 12px;min-height:92px;padding:18px 0}.event-time{color:var(--muted);grid-column:1;font-size:11px}.event>div{grid-column:1}.event h2{font-size:18px}.event .badge{grid-area:1/2/3;align-self:center}.summary{margin-top:22px}.metric{padding:18px 16px}.metric strong{font-size:30px}.actions{grid-template-columns:1fr;margin-top:18px;display:grid}.card-grid{gap:12px}.garment{grid-template-columns:116px 1fr;min-height:156px;display:grid}.garment>a{height:100%;display:block}.garment img{height:100%;min-height:156px}.garment-body{min-width:0;padding:14px}.garment h2{margin-top:8px;font-size:18px}.card-actions{flex-wrap:wrap;gap:14px;margin-top:12px;padding-top:10px}.field input,.field select,.field textarea{min-height:48px;font-size:16px}.form{width:calc(100% + 32px);margin-left:-16px;padding:22px 16px}.check{align-items:center;min-height:48px}.table-wrap{background:0 0;border-top:0;overflow:visible}.table-wrap table,.table-wrap tbody{display:block}.table-wrap thead{display:none}.table-wrap tr{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--ink);margin-bottom:12px;padding:6px 16px;display:block}.table-wrap td{border-bottom:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:minmax(90px,38%) 1fr;align-items:center;gap:12px;min-height:42px;padding:10px 0;display:grid}.table-wrap td:last-child{border-bottom:0}.table-wrap td:before{content:attr(data-label);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.table-wrap td:empty{display:none}.table-wrap td form,.table-wrap td .button{width:100%}.empty{padding:38px 18px}.badge{white-space:nowrap}}
