*,:after,:before{box-sizing:border-box}body{color:#1b3358;background:#f2f5f9;margin:0;font-family:Helvetica,Arial,sans-serif}.catalogue{max-width:1200px;margin:0 auto;padding:2rem 1rem}.catalogue-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.catalogue-header h1{margin:0}.catalogue-search{border:1px solid #c3cdd8;border-radius:4px;width:320px;max-width:100%;padding:.6rem .8rem;font-size:1rem}.catalogue-message{text-align:center;opacity:.7}.catalogue-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;transition:opacity .2s;display:grid}.catalogue-grid.loading{opacity:.5}.catalogue-pager{justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}.product-card{color:inherit;background:#fff;border-radius:6px;text-decoration:none;display:block;overflow:hidden;box-shadow:0 1px 3px #1b33581f}.product-card-picture{aspect-ratio:4/3;background:#dde5ee}.product-card-body{padding:.8rem 1rem 1rem}.product-card-title{margin:0 0 .4rem;font-size:1rem}.product-card-ref,.product-card-tenant{opacity:.7;margin:0;font-size:.85rem}.product-card:hover{box-shadow:0 4px 12px #1b33582e}.product{max-width:1000px;margin:0 auto;padding:2rem 1rem}.product-back{color:#1f6fd1;margin-bottom:1.5rem;text-decoration:none;display:inline-block}.product-detail{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.product-picture{aspect-ratio:4/3;background:#dde5ee;border-radius:6px}.product-info h1{margin:0 0 1rem}.product-ref,.product-tenant{opacity:.7;margin:0 0 .5rem}@media (width<=700px){.product-detail{grid-template-columns:1fr}}.site-header{color:#fff;background:#1b3358;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.site-header a{color:inherit;text-decoration:none}.site-header-brand{font-size:1.2rem;font-weight:700}.site-header-nav{align-items:center;gap:1.5rem;display:flex}.site-header-customer{opacity:.8}.site-header-logout{color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:4px;padding:.3rem .8rem}.login{max-width:380px;margin:4rem auto;padding:0 1rem}.login-form{gap:1rem}.login-form,.login-form label{flex-direction:column;display:flex}.login-form label{gap:.4rem}.login-form input{border:1px solid #c3cdd8;border-radius:4px;padding:.6rem .8rem;font-size:1rem}.login-form button{color:#fff;cursor:pointer;background:#1f6fd1;border:none;border-radius:4px;padding:.7rem;font-size:1rem}.login-form button:disabled{opacity:.6}.login-error{color:#c0392b;margin:0}.login-links{flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0 0;font-size:.9rem;display:flex}.login-links a{color:#1f6fd1}.account{max-width:520px;margin:3rem auto;padding:0 1rem}.account-identity{opacity:.7;margin:0 0 2rem}.account-row{gap:1rem;display:flex}.account-postal{flex:0 0 140px}.account-city,.account-half{flex:1}.account-saved{color:#1e8449;margin:0}.login-form select,.login-form textarea{border:1px solid #c3cdd8;border-radius:4px;padding:.6rem .8rem;font-family:inherit;font-size:1rem}.password-field-input{gap:.5rem;display:flex}.password-field-input input{flex:1;min-width:0}.password-field-eye,.password-field-generate{color:#1b3358;cursor:pointer;background:#fff;border:1px solid #c3cdd8;border-radius:4px}.password-field-eye{width:2.6rem;padding:0}.password-field-eye svg{vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.2rem;height:1.2rem}.password-field-generate{padding:0 .9rem;font-size:.9rem}.password-field-rules{margin-top:.5rem;font-size:.8rem}.password-field-rules p{margin:0}.password-field-rules ul{margin:.2rem 0 0;padding-left:1.2rem}.password-field-rules .valid{color:#1e8449}.password-field-rules .invalid{color:#c0392b}.selection-button{color:#1f6fd1;cursor:pointer;background:#fff;border:1px solid #1f6fd1;border-radius:4px;margin-top:1rem;padding:.6rem 1rem;font-size:.95rem}.selection-button.selected{color:#fff;background:#1f6fd1}.selection-button.small{margin-top:.6rem;padding:.3rem .6rem;font-size:.8rem}.selection-button:disabled{opacity:.6}.selection-invite{background:#dde5ee;border-radius:6px;margin:0 0 2rem;padding:1rem}.selection-invite a{color:#1f6fd1}.basket-bar,.basket-form{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.basket-bar{margin-bottom:1.5rem}.basket-bar button,.basket-form input,.basket-select{background:#fff;border:1px solid #c3cdd8;border-radius:4px;padding:.5rem .8rem;font-size:.95rem}.basket-bar button{cursor:pointer}.basket-form input,.basket-select{min-width:260px}.basket-bar .basket-delete{color:#d14b4b;border-color:#d14b4b}.selection-items{margin:0;padding:0;list-style:none}.selection-items li{border-bottom:1px solid #dde5ee;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.selection-item-info{flex-direction:column;flex:1;gap:.2rem;display:flex}.selection-item-info a{color:inherit;font-weight:600;text-decoration:none}.selection-item-info span{opacity:.7;font-size:.85rem}.selection-item-remove{color:#d14b4b;cursor:pointer;background:0 0;border:none}.quantity-input{border:1px solid #c3cdd8;border-radius:4px;align-items:center;display:inline-flex}.quantity-input button{cursor:pointer;background:#fff;border:none;width:2rem;height:2rem;font-size:1rem}.quantity-input button:disabled{opacity:.4;cursor:default}.quantity-input span{text-align:center;min-width:2.2rem}.product-actions{align-items:center;gap:1rem;margin-top:1rem;display:flex}.product-actions .selection-button{margin-top:0}.basket-picker{z-index:100;background:#1b335873;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.basket-picker-dialog{background:#fff;border-radius:6px;flex-direction:column;gap:1rem;width:520px;max-width:100%;padding:1.5rem;display:flex;box-shadow:0 10px 30px #1b335840}.basket-picker-dialog h2{text-align:center;margin:0}.basket-picker-actions .basket-cancel,.basket-picker-create,.basket-picker-dialog .basket-form button,.basket-picker-dialog .basket-form input{cursor:pointer;background:#fff;border:1px solid #c3cdd8;border-radius:4px;padding:.5rem .8rem;font-size:.95rem}.basket-picker-dialog .basket-select{border:1px solid #c3cdd8;border-radius:4px;flex:1;min-width:0;padding:.5rem .8rem;font-size:.95rem}.basket-picker-dialog .basket-form input{cursor:text;flex:1;min-width:0}.basket-picker-create{align-self:flex-start}.basket-picker-actions{justify-content:flex-end;gap:.8rem;display:flex}.selection-request{text-align:center;margin-top:2rem}.selection-request a{color:#1f6fd1}.selection-request-button{color:#fff;cursor:pointer;background:#1f6fd1;border:none;border-radius:4px;padding:.8rem 1.6rem;font-size:1rem}.selection-request-button:disabled,.selection-request-secondary:disabled{opacity:.6}.selection-request-secondary{color:#1f6fd1;cursor:pointer;background:#fff;border:1px solid #1f6fd1;border-radius:4px;margin:.8rem 0 0 .8rem;padding:.8rem 1.6rem;font-size:1rem}.selection-invite a[href=\#]{margin-left:.5rem;display:inline-block}.request-list{margin:0;padding:0;list-style:none}.request-list li{margin-bottom:.8rem}.request-list a{color:inherit;background:#fff;border-radius:6px;flex-direction:column;gap:.3rem;padding:1rem;text-decoration:none;display:flex;box-shadow:0 1px 3px #1b33581f}.request-status{color:#b9770e;font-size:.9rem}.request-status.answered{color:#1e8449}.request-part{background:#fff;border-radius:6px;margin-top:1.5rem;padding:1rem 1.2rem;box-shadow:0 1px 3px #1b33581f}.request-part-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.request-part-header h2{margin:0;font-size:1.1rem}.request-part-status{color:#b9770e;font-size:.85rem}.request-part-status.quoted{color:#1e8449}.request-part-status.declined{color:#7f8c8d}.request-part-pdf{color:#1f6fd1;margin-top:.5rem;display:inline-block}.request-status.revised{color:#7f8c8d}.request-status.accepted{color:#1f6fd1}.request-status.refused{color:#c0392b}.request-part-carried{opacity:.7;margin:.5rem 0 0;font-size:.85rem}.request-form{max-width:560px;margin:2.5rem auto 0}.request-form h2{margin:0}.login-form .request-form-check{flex-direction:row;align-items:center;gap:.6rem}.request-info{grid-template-columns:200px 1fr;gap:.6rem 1rem;margin:0 0 2rem;display:grid}.request-info dt{font-weight:600}.request-info dd{white-space:pre-line;margin:0}.request-part-quote{align-items:center;gap:1rem;display:flex}.request-totals{border-top:1px solid #c3cdd8;margin-top:2rem;padding-top:1rem}.request-totals dl{grid-template-columns:1fr auto;gap:.4rem 2rem;max-width:360px;margin:0 0 1.5rem auto;display:grid}.request-totals dt{font-weight:600}.request-totals dd{text-align:right;margin:0}.request-decision{text-align:right}
