:root{color:#233d34;--green:#294c3c;--muted:#748078;--line:#dfe5d9;background:#f7f8f2;font-family:Segoe UI,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}button,input,select,summary,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:3px solid #6e9350}input,select{min-width:0;color:inherit}input:disabled,select:disabled{opacity:.6}a{color:inherit}h1,h2,h3,p{margin:0}.app-shell{max-width:1512px;margin:auto;padding:0 56px}.masthead{border-bottom:1px solid var(--line);align-items:center;min-height:62px;display:flex}.masthead h1{letter-spacing:-.3px;font-size:17px;font-weight:650}.masthead h1 span{color:#6b7c60;font-weight:400}main{padding-bottom:24px}.workspace{grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:46px;padding-top:24px;display:grid}.section-heading{align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.step{color:#61794e;border:1px solid #d2dcc7;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;margin-top:1px;font-size:10px;font-weight:700;display:inline-flex}.section-heading h2{letter-spacing:-.6px;font-size:19px;font-weight:650}.section-heading p{color:var(--muted);margin-top:4px;font-size:12px}.schedule-section{min-width:0}.schedule-scroll{padding:3px 2px 5px;overflow:auto}.schedule{border-spacing:0;border-collapse:separate;table-layout:fixed;width:100%;min-width:505px}.schedule th{text-align:center;font-weight:500}.schedule thead th{height:60px;font-size:12px;line-height:1.2}.schedule thead th:first-child{text-align:left;width:84px}.schedule thead th small{color:#849080;margin-top:5px;font-size:10px;display:block}.table-corner{letter-spacing:1px;color:#788670;font-size:8px}.schedule tbody th{text-align:left;border-bottom:1px solid #e6ebdf;font-size:12px;line-height:1.4}.schedule tbody th span{color:#6e875a;min-height:14px;margin-top:3px;font-size:10px;display:block}.schedule tbody th.selected-day{color:#4e7139;font-weight:700}.schedule td{border-bottom:1px solid #e6ebdf;height:65px;padding:5px 3px}.schedule td button{background:#edf0e6;border:1px solid #e4e9dc;border-radius:7px;width:100%;height:50px;transition:background .15s,color .15s}.cell-mark{color:#a3b195;font-size:16px;font-weight:400}.schedule td button:hover:not(:disabled){background:#e0e8d4;border-color:#a7bf8a}.schedule td.in-range button{background:var(--green);border-color:var(--green)}.schedule td.in-range .cell-mark{color:#e1f0ba}.schedule td.block-start{padding-left:12px;padding-right:0}.schedule td.block-end{padding-left:0;padding-right:0}.schedule th.block-start{padding-left:12px}.schedule td.block-start button{border-right-width:0;border-radius:8px 0 0 8px}.schedule td.block-end button{border-left:1px solid #cfdac2;border-radius:0 8px 8px 0}.schedule td.block-single button{border-right-width:1px;border-radius:8px}.week-navigation{justify-content:space-between;align-items:center;gap:12px;margin:0 0 5px;display:flex}.week-caption{flex-direction:column;gap:2px;display:flex}.week-caption strong{font-size:13px;font-weight:600}.week-caption span{color:#748078;font-size:10px}.week-buttons{gap:5px;display:flex}.week-buttons button{border:1px solid var(--line);background:#fffefa;border-radius:6px;min-width:34px;height:34px;font-size:23px;line-height:1}.week-buttons .current-week{padding:0 9px;font-size:11px}.week-buttons button:disabled{opacity:.45}.week-buttons button:hover:not(:disabled){background:#eaf1dd}.schedule-note{color:#707e66;align-items:center;gap:8px;min-height:47px;font-size:10px;display:flex}.selection-swatch{background:#acc782;border-radius:2px;flex:0 0 9px;width:9px;height:9px}.manual-selection{border:0;grid-template-columns:minmax(150px,1.7fr) minmax(75px,1fr) 9px minmax(75px,1fr);align-items:end;gap:10px;margin:18px 0 0;padding:0;display:grid}.manual-selection legend{color:#6d7b65;padding:0 0 13px;font-size:11px}.manual-selection label{flex-direction:column;gap:7px;font-size:11px;font-weight:500;display:flex}.manual-selection input,.manual-selection select{background:#fffefa;border:1px solid #d7dfce;border-radius:7px;width:100%;height:43px;padding:0 10px;font-size:12px;box-shadow:0 2px #e5e9df33}.time-dash{color:#93a088;align-self:end;padding-bottom:11px}.selected-term{background:#edf1e5;border:1px solid #e1e8d8;border-radius:9px;align-items:center;gap:12px;min-height:79px;margin-top:23px;padding:16px;display:flex}.calendar-symbol{color:#6f895b;font-size:29px}.selected-term div>span{letter-spacing:1.2px;color:#657b54;font-size:9px}.selected-term p{margin-top:3px;font-size:13px}.selected-term p:first-letter,.summary-date:first-letter{text-transform:uppercase}.selected-term strong{color:#657c51;font-size:12px;font-weight:600;display:block}.has-term{background:#eaf1dd}.schedule-footnote{color:#738165;margin:13px 1px 0;font-size:10px}.equipment-section{border-left:1px solid var(--line);min-width:0;padding-left:34px}.equipment-section .section-heading{margin-bottom:10px}.availability-status{color:#647958;align-items:center;gap:7px;min-height:32px;margin-bottom:8px;font-size:10px;display:flex}.status-dot{background:#7c9b5c;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot.empty{background:#a89a7d}.device-picker{--device-color:#6f8f57;--device-fill:#e6eddc;--chosen-fill:#d2e59f;--chosen-color:#3a5a2c}.tone-blue{--device-color:#698fa0;--device-fill:#e8eff0;--chosen-fill:#b9d8e2;--chosen-color:#325e70}.tone-dark{--device-color:#5b6561;--device-fill:#e4e7e4;--chosen-fill:#bdccc1;--chosen-color:#2e4536}.tone-pink{--device-color:#a16f83;--device-fill:#f1e8ed;--chosen-fill:#e6bccf;--chosen-color:#81445f}.device-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.device-heading h3{letter-spacing:-1px;font-size:24px;font-weight:600}.availability{color:#6b7a62;flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;font-size:10px;display:flex}.availability strong{color:#5d714f;font-weight:600}.quantity{color:#637452;text-align:right;flex-direction:column;gap:4px;font-size:10px;display:flex}.quantity>span{color:#647851;background:#fffef9;border:1px solid #d5deca;border-radius:6px;align-items:center;gap:2px;padding-right:8px;display:flex;overflow:hidden}.quantity input{text-align:center;outline-offset:-3px;background:0 0;border:0;width:51px;height:37px;padding:0 0 0 6px;font-size:18px;font-weight:500}.device-icons{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;display:grid}.device-icons.tablets{grid-template-columns:repeat(10,minmax(0,1fr))}.device-unit{min-width:0;min-height:53px;color:var(--device-color);background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:3px 0;transition:background .15s,transform .15s;display:flex}.device-unit svg{width:37px;max-width:100%;height:34px}.device-unit>span{font-size:9px;line-height:1.4}.device-fill{fill:var(--device-fill)}.device-unit:hover:not(:disabled){border-color:var(--device-color);background:#edf1e6;transform:translateY(-2px)}.device-unit.chosen{color:var(--chosen-color);background:var(--chosen-fill);border-color:color-mix(in srgb, var(--chosen-color), transparent 80%)}.device-unit.chosen .device-fill{fill:color-mix(in srgb, var(--chosen-fill), white 25%)}.device-unit:disabled{opacity:.4;filter:grayscale()}.primary-device+.primary-device{border-top:1px dashed #d9e1d0;margin-top:23px;padding-top:22px}.device-legend{color:#6e805c;gap:16px;margin:14px 0 22px;font-size:9px;display:flex}.device-legend>span{align-items:center;gap:5px;display:flex}.device-legend i{border-radius:2px;width:8px;height:8px}.legend-selected{background:#b6cd8d}.legend-free{background:#e9efdd;border:1px solid #a7b792}.legend-unavailable{opacity:.6;background:#dce0d8}.more-equipment{border-top:1px solid var(--line);padding:16px 0 0}.more-equipment summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:600;list-style:none;display:flex}.more-equipment summary::-webkit-details-marker{display:none}.more-equipment summary>span:first-child{align-items:center;gap:8px;display:flex}.plus-sign{color:#7f936c;font-size:18px;font-weight:400;transition:transform .2s}.more-equipment[open] .plus-sign{transform:rotate(45deg)}.extra-hint{color:#6c7d5f;gap:10px;font-size:9px;font-weight:400;display:flex}.extra-description{color:#7e896f;margin:15px 0;font-size:11px}.extra-device{border-top:1px dashed var(--line);padding:16px 0}.extra-device h3{letter-spacing:-.3px;font-size:15px}.temporary{color:#8c7247;font-size:9px}.extra-device .device-icons{grid-template-columns:repeat(8,minmax(0,1fr))}.booking-footer{background:#eaf0df;border:1px solid #dce5d0;border-radius:12px;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:32px;margin-top:38px;padding:28px;display:grid}.person-field label{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.person-field .step{min-width:24px;height:24px;font-size:9px}.person-field input{background:#fffef9;border:1px solid #d0dbc3;border-radius:6px;width:100%;padding:12px;font-size:13px}.person-field input::placeholder{color:#79866b}.person-field>p{color:#687b55;margin-top:8px;font-size:10px}.reservation-summary{border-left:1px solid #d2dec4;min-height:115px;padding-left:25px}.reservation-summary h2{text-transform:uppercase;letter-spacing:1.1px;color:#677e51;margin-bottom:9px;font-size:11px;font-weight:500}.summary-date{font-size:13px;font-weight:600}.summary-date span{margin-top:2px;font-size:12px;font-weight:400;display:block}.reservation-summary ul{max-width:290px;margin:10px 0;padding:0;font-size:11px;list-style:none}.reservation-summary li{justify-content:space-between;gap:16px;line-height:1.8;display:flex}.reservation-summary li strong{white-space:nowrap}.summary-empty,.summary-person{color:#63794d;margin-top:8px;font-size:11px}.submit-area{align-self:center}.submit-button{background:var(--green);color:#f7f9ef;border:1px solid var(--green);border-radius:7px;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:17px 18px;font-size:13px;font-weight:500;transition:background .15s;display:flex;box-shadow:0 3px 4px #284c3b0b}.submit-button>span{color:#c2db9d;font-size:20px}.submit-button:hover:not(:disabled){background:#3d604c}.submit-button:disabled{opacity:.6}.submit-area>p{color:#657c50;text-align:center;margin-top:10px;font-size:10px}.notice{border-radius:7px;margin:10px 0;padding:14px 16px;font-size:12px;line-height:1.6}.notice p{margin:0}.notice button{background:0 0;border:0;padding:6px 0;font-size:11px;text-decoration:underline}.notice.error{color:#924f36;background:#fbede6;border:1px solid #eaccbb}.notice.success{color:#3e6534;background:#e6efdc;border:1px solid #c5d7ae}.notice ul{margin:5px 0 0;padding-left:18px}.notice strong{font-size:13px}.form-message{margin-top:15px}.inline-error{color:#a14d33;margin-top:8px;font-size:11px}.spinner{border:2px solid #d3dec6;border-top-color:#5b7b43;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1500px){.app-shell{padding:0 64px}.workspace{gap:52px}.equipment-section{padding-left:42px}.schedule td{height:68px}.device-unit{min-height:56px}.device-unit svg{width:42px;height:38px}}@media (width<=1150px){.app-shell{padding:0 28px}.workspace{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.equipment-section{padding-left:22px}.schedule{min-width:470px}.schedule thead th:first-child{width:70px}.schedule tbody th{font-size:11px}.extra-hint{display:none}.device-icons{gap:2px}.device-unit svg{width:33px}.booking-footer{gap:22px;padding:23px}}@media (width<=950px){.workspace{grid-template-columns:1fr;gap:32px}.equipment-section{border-left:0;border-top:1px solid var(--line);padding:27px 0 0}.schedule{min-width:500px}.device-unit svg{width:44px;height:39px}.device-unit{min-height:64px}.device-icons:not(.tablets){grid-template-columns:repeat(16,minmax(0,1fr))}.device-icons.tablets,.extra-device .device-icons{grid-template-columns:repeat(10,minmax(0,1fr))}.booking-footer{grid-template-columns:1fr 1fr}.submit-area{grid-column:1/-1}.extra-hint{display:flex}}@media (width<=600px){.app-shell{padding:0 18px}.masthead{min-height:54px}.workspace{padding-top:24px}.section-heading h2{font-size:18px}.section-heading p{font-size:11px}.schedule-scroll{margin-right:-18px;padding-right:18px}.schedule{min-width:530px}.schedule td{height:65px}.schedule-note{font-size:10px}.manual-selection{grid-template-columns:minmax(120px,1.5fr) minmax(65px,1fr) 6px minmax(65px,1fr);gap:6px}.manual-selection input,.manual-selection select{padding:0 5px;font-size:11px}.device-icons:not(.tablets){grid-template-columns:repeat(8,minmax(0,1fr))}.device-icons.tablets{gap:2px}.device-unit{min-height:53px}.device-unit svg{width:34px;height:32px}.tablets .device-unit svg{width:29px;height:32px}.device-heading h3{font-size:25px}.device-legend{font-size:9px}.booking-footer{grid-template-columns:1fr;gap:22px;margin-top:28px;padding:21px}.reservation-summary{border-top:1px solid #d2dec4;border-left:0;min-height:0;padding:20px 0 0}.submit-area{grid-column:auto}.extra-hint{font-size:8px}.extra-device h3{font-size:15px}.selected-term p{font-size:13px}.form-message{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.device-selection{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:9px;display:grid}.zero-device{border:1px dashed #c4cfb9;width:100%}.zero-icon{justify-content:center;align-items:center;display:flex;position:relative}.zero-slash{background:currentColor;width:90%;height:2px;position:absolute;transform:rotate(-45deg);box-shadow:0 0 0 2px #f7f8f2}@media (width<=600px){.device-selection{grid-template-columns:27px minmax(0,1fr);gap:6px}.week-caption strong{font-size:11px}.week-navigation{gap:6px}.week-buttons{gap:3px}.week-buttons button{min-width:30px;height:32px}}.week-availability-status{color:#748078;align-items:center;gap:7px;min-height:22px;font-size:10px;display:flex}.schedule td button{height:60px;padding:6px 3px;position:relative}.schedule .cell-mark{font-size:10px;line-height:1;position:absolute;top:2px;right:4px}.slot-availability{flex-direction:column;align-items:center;gap:2px;display:flex}.slot-count{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;font-weight:650;line-height:20px;display:flex}.slot-count svg{width:22px;height:20px}.slot-count .device-fill{fill:currentColor;fill-opacity:.08}.slot-number{text-align:right;min-width:17px}.slot-chromebooks{color:#507b37}.slot-ipads{color:#397897}.in-range .slot-chromebooks{color:#d7efa8}.in-range .slot-ipads{color:#b8e2f5}.schedule td button:disabled{opacity:.65}.masthead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.account-menu{align-items:center;gap:16px;font-size:13px;display:flex}.account-menu small{color:#638275;font-size:11px;display:block}.account-menu button,.reservation-actions button,.list-tabs button,.editing-banner button{cursor:pointer;color:#315445;font:inherit;background:#fffefb;border:1px solid #d6dfd6;border-radius:9px;padding:8px 12px}.login-panel{text-align:center;max-width:460px;margin:12vh auto}.login-panel h2{font-size:30px}.login-panel p{color:#6a756c;margin:20px 0 28px}.login-panel .submit-button{width:100%}.reservation-list{border-top:1px solid #dce2d8;margin-top:36px;padding-top:26px}.reservation-list-heading{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:16px;display:flex}.reservation-list-heading h2{margin:0;font-size:21px}.reservation-list-heading label{color:#667467;margin-left:auto;font-size:13px}.list-tabs{gap:6px;display:flex}.list-tabs button[aria-pressed=true]{background:#dcebdc;border-color:#8eab90}.reservation-row{border-bottom:1px solid #e2e6de;grid-template-columns:200px 1fr auto;align-items:center;gap:20px;padding:22px 0;font-size:14px;display:grid}.reservation-row p{color:#667467;margin:5px 0 0}.reservation-row-devices{flex-wrap:wrap;gap:8px 18px;display:flex}.reservation-row-devices small{color:#667467;overflow-wrap:anywhere;flex-basis:100%}.reservation-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reservation-actions button:disabled{opacity:.5;cursor:wait}.editing-banner{background:#e6efdf;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;padding:12px 16px;display:flex}.empty-reservations{color:#667467;font-size:14px}@media (width<=700px){.reservation-row{grid-template-columns:1fr;gap:12px}.reservation-list-heading label{margin-left:0}.editing-banner{flex-direction:column;align-items:flex-start}}
