.campus-top,.approval-top{display:flex;justify-content:space-between;gap:10px}.campus-director{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #edf0ec;margin-top:15px;padding-top:12px;color:#83918e;font-size:11px}.campus-director strong{color:#506a66}.approval-director{margin-top:10px;padding:9px;border-radius:5px;background:#f4f8f5;color:#628075;font-size:11px}.edit-btn{border:1px solid #dce6e1;background:#f8fcf9;color:#43826b;border-radius:5px;padding:6px 9px;font:700 11px "DM Sans";cursor:pointer}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:15px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px}.summary-card small{color:#869590}.summary-card strong{display:block;margin-top:7px;color:#284d49;font:800 21px Manrope}.user-table-panel td:last-child{text-align:right}.user-cell{display:flex;gap:9px;align-items:center}.user-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dceee5;color:#3f7964;font-size:10px;font-weight:700}.badge.admin{background:#e9edf5;color:#64779b}.badge.director{background:#f0ebf5;color:#80669a}.modal-backdrop{position:fixed;z-index:5;inset:0;display:none;place-items:center;background:#173e3c66;padding:18px}.modal-backdrop.open{display:grid}.admin-modal{width:min(620px,100%);max-height:calc(100vh - 36px);border-radius:10px;background:#fff;box-shadow:0 18px 44px #173e3c33;overflow:auto}.admin-modal form{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:grid;gap:6px}.form-field.full{grid-column:1/-1}.form-field label{color:#64736f;font-size:11px;font-weight:700;letter-spacing:.5px}.form-field input,.form-field select{width:100%;border:1px solid #dfe5e1;border-radius:5px;background:#fff;padding:10px;color:#35514d;font:13px "DM Sans";outline:0}.form-field input:focus,.form-field select:focus{border-color:#6d9f8c}.field-help{color:#9aa6a3;font-size:11px;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.secondary{border:1px solid #dce4e0;border-radius:6px;background:#fff;color:#657570;padding:11px 15px;font:700 13px "DM Sans";cursor:pointer}.sign-out-btn{margin-left:auto;border:0;background:transparent;color:#a9c4c0;font:600 10px "DM Sans";cursor:pointer}.brand-logo{width:34px;height:34px;flex:none;overflow:visible}.brand-logo path{fill:none;stroke:#b9ddca;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.logo-fold{stroke-width:1.7!important}.login-brand .brand-logo path{stroke:#4c8c72}.login-screen{position:fixed;z-index:10;inset:0;display:none;place-items:center;padding:20px;background:#173f3c}.login-screen.open{display:grid}.login-card{width:min(410px,100%);border-radius:12px;background:#fff;padding:31px;box-shadow:0 20px 48px #0e292744}.login-brand{margin-bottom:32px;color:#234d49}.login-card h1{margin:0;color:#214844;font:800 27px Manrope}.login-card form{display:grid;gap:14px;margin-top:22px}.login-error{min-height:16px;margin:0;color:#b86767;font-size:12px}.login-domain{margin:19px 0 -9px;color:#54846f;font-size:11px;font-weight:700;letter-spacing:1.3px}.login-help{margin:18px 0 0;color:#94a19f;font-size:11px}@media(max-width:700px){.admin-summary{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.user-table-panel{overflow:auto}.user-table-panel table{min-width:720px}}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:15px}.schedule-table-panel{overflow:auto}.schedule-table-panel table{min-width:690px}.schedule-item{display:flex;gap:9px;align-items:center}.schedule-item .product-icon{width:34px;height:34px;font-size:17px}.badge.monthly{background:#e7f3eb;color:#4f8a69}.badge.quarterly{background:#f4ecdf;color:#a97943}.reminder-card{align-self:start;border:1px solid var(--line);border-radius:8px;background:#fff;padding:17px}.reminder-card h3{margin:2px 0 13px;color:#274b47;font:800 17px Manrope}.reminder-to{padding:10px;border-radius:6px;background:#f3f8f5;color:#638078;font-size:12px}.reminder-card ul{margin:13px 0;padding-left:18px;color:#60736e;font-size:12px;line-height:1.7}.recommend-panel{margin-bottom:18px;border:1px solid #dce9e3;border-radius:9px;background:#edf7f1;padding:16px}.recommend-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.recommend-head h2{margin:0;color:#274e49;font:800 18px Manrope}.recommend-list{display:flex;gap:8px;overflow:auto;margin-top:14px;padding-bottom:2px}.recommend-chip{min-width:185px;border:1px solid #d9e9e1;border-radius:7px;background:#fff;padding:10px;text-align:left;font-family:"DM Sans";cursor:pointer}.recommend-chip:hover{border-color:#8db9a8;box-shadow:0 3px 9px #315e5112}.recommend-chip strong,.recommend-chip small{display:block}.recommend-chip small{margin-top:3px;color:#8a9996}.recommend-chip span{display:inline-block;margin-top:8px;color:#548370;font-size:11px;font-weight:700}.recommend-chip em{display:block;margin-top:8px;color:#5e897a;font-size:10px;font-style:normal;font-weight:700}@media(max-width:900px){.schedule-layout{grid-template-columns:1fr}}@media(max-width:700px){.recommend-head{align-items:flex-start;flex-direction:column}.recommend-list{display:grid;grid-template-columns:1fr;width:100%}}
.reminder-alert{margin:10px 0;border-radius:6px;padding:10px;color:#5d746f;font-size:11px}.reminder-alert strong,.reminder-alert span{display:block}.reminder-alert span{margin-top:3px}.reminder-alert ul{margin:6px 0 0;padding-left:17px;font-size:10px}.reminder-alert.upcoming{border:1px solid #d9e6bd;background:#f7faed}.reminder-alert.overdue{border:1px solid #ecc9c2;background:#fcf2ef;color:#9a5e55}.reminder-alert.complete{border:1px solid #cfe5d7;background:#f2faf5;color:#4e8065}
.recommend-submitted{margin-top:14px;border-top:1px solid #d5e6de;padding-top:12px}.recommend-submitted-list{display:flex;flex-wrap:wrap;gap:7px}.recommend-submitted-chip{display:flex;align-items:center;gap:7px;border:1px solid #d4e4dd;border-radius:16px;background:#f8fcfa;padding:5px 8px;color:#54716b;font-size:10px}.recommend-submitted-chip small{color:#879691}.recommend-submitted-chip .order-status-pill{font-size:8px}
.vendor-box{margin-top:11px;border-radius:6px;background:#f4f8f5;padding:9px}.vendor-box>span{display:block;color:#8a9996;font-size:9px;font-weight:700;letter-spacing:1px}.vendor-box>strong{display:block;margin:4px 0 3px;color:#4f7068;font-size:12px}.vendor-box>small{display:block;overflow:hidden;color:#8a9996;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.vendor-box div{display:flex;justify-content:space-between;gap:6px;margin-top:8px}.vendor-box a,.vendor-box button{border:0;background:transparent;color:#45816b;font:700 10px "DM Sans";padding:0;text-decoration:none;cursor:pointer}.product-card{display:flex;flex-direction:column}.product-card .product-bottom{margin-top:auto;padding-top:14px}
.ordering-history{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px;border:1px solid #e3e9e5;border-radius:6px;background:#fbfcfa;padding:9px}.ordering-history div{min-width:0}.ordering-history span{display:block;color:#8a9996;font-size:8px;font-weight:700;letter-spacing:.7px}.ordering-history strong{display:block;margin-top:4px;color:#617570;font-size:10px}.ordering-history>small{grid-column:1/-1;color:#91a09d;font-size:10px}.ordering-history.ordered{border-color:#b9ddca;background:#edf7f1}.ordering-history.ordered div:nth-child(2) strong{color:#3f8265}
.order-status-pill{grid-column:1/-1;justify-self:start;border-radius:12px;background:#e8edf0;color:#60757b;padding:4px 8px;font-size:9px;line-height:1}.order-status-pill.pending-approval,.order-status-pill.submitted{background:#fff0df;color:#b87537}.order-status-pill.approved{background:#e3f3e9;color:#408460}.order-status-pill.ordered,.order-status-pill.complete,.order-status-pill.delivered{background:#e4eff6;color:#527d98}
.restricted-nav.hidden,#add-schedule.hidden,#add-equipment.hidden{display:none}.purchase-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.purchase-toolbar label{display:grid;gap:6px}.purchase-toolbar label span{color:#879590;font-size:10px;font-weight:700;letter-spacing:1px}.purchase-toolbar select{min-width:260px;border:1px solid #dce4e0;border-radius:5px;background:#fff;padding:9px;color:#36534f;font:600 13px "DM Sans"}.purchase-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.purchase-summary .summary-card strong{font-size:18px}.purchase-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:15px}.purchase-lines-panel{padding-bottom:6px}.purchase-vendor-group{padding:13px 0;border-bottom:1px solid #edf0ec}.purchase-vendor-group:last-child{border-bottom:0}.purchase-vendor-title{display:flex;justify-content:space-between;color:#78908a;font-size:10px;font-weight:700;letter-spacing:1px}.purchase-line{display:grid;grid-template-columns:minmax(0,1fr) 88px 78px 30px;gap:8px;align-items:center;padding:11px 0}.purchase-line-info{display:flex;gap:9px;align-items:center}.purchase-line-info .product-icon{width:34px;height:34px;font-size:17px}.purchase-line-info small{display:block;margin-top:2px;color:#97a29f}.purchase-qty{display:flex;align-items:center;justify-content:center;gap:5px}.purchase-qty button,.remove-line{width:22px;height:22px;border:1px solid #dce6e1;border-radius:4px;background:#fff;color:#548070;cursor:pointer}.remove-line{color:#af6c6c}.line-total{text-align:right;color:#45615d;font-size:12px;font-weight:700}.vendor-order-card{margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.vendor-order-card h3{margin:3px 0;color:#294f4a;font:800 15px Manrope}.vendor-order-card p{margin:5px 0;color:#879590;font-size:11px;line-height:1.5}.vendor-order-card .vendor-order-total{display:flex;justify-content:space-between;margin:12px 0;color:#45615d;font-size:12px}.vendor-order-card a{display:block;border:1px solid #d5e4dd;border-radius:5px;background:#f7fcf9;padding:9px;text-align:center;color:#43816b;font-size:11px;font-weight:700;text-decoration:none}.vendor-order-card .place-order{width:100%;margin-top:7px;border:0;border-radius:5px;background:#df9a52;color:#fff;padding:9px;font:700 11px "DM Sans";cursor:pointer}.vendor-order-card.placed{background:#f4f8f5}.vendor-order-card.placed .place-order{background:#79a58f;cursor:default}@media(max-width:900px){.purchase-layout{grid-template-columns:1fr}.purchase-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.purchase-toolbar{align-items:stretch;flex-direction:column}.purchase-toolbar select{min-width:100%;width:100%}.purchase-summary{grid-template-columns:1fr}.purchase-line{grid-template-columns:minmax(0,1fr) 80px 63px 24px}}
.email-link,.reminder-to a{color:#4d806f;text-decoration:none}.email-link:hover,.reminder-to a:hover{text-decoration:underline}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.equipment-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.equipment-head{display:flex;justify-content:space-between;gap:8px}.equipment-card h3{margin:4px 0;color:#2a4e4a;font:800 16px Manrope}.equipment-location{margin:5px 0 13px;color:#879590;font-size:12px}.filter-spec{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-spec div{border-radius:5px;background:#f4f8f5;padding:9px}.filter-spec span,.equipment-source span{display:block;color:#899793;font-size:9px;font-weight:700;letter-spacing:.8px}.filter-spec strong,.equipment-source strong{display:block;margin-top:4px;color:#54726c;font-size:12px}.equipment-source{margin-top:10px;border-top:1px solid #edf0ec;padding-top:10px}.equipment-notes{margin:8px 0 0;color:#9aa6a3;font-size:11px;line-height:1.45}@media(max-width:1000px){.equipment-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.equipment-grid{grid-template-columns:1fr}}
.recommend-detail-hero{display:flex;gap:13px;align-items:center;grid-column:1/-1;border-radius:7px;background:#f3f8f5;padding:13px}.recommend-detail-hero>span{font-size:34px}.recommend-detail-hero h3,.recommend-detail-hero p{margin:2px 0;color:#4e6e68}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;grid-column:1/-1}.detail-grid div{border-radius:5px;background:#f6f8f5;padding:9px}.detail-grid span{display:block;color:#899793;font-size:9px;font-weight:700;letter-spacing:.7px}.detail-grid strong{display:block;margin-top:4px;color:#4e7069;font-size:12px}.detail-notes{grid-column:1/-1;margin:0;color:#83928f;font-size:12px;line-height:1.5}.detail-link{grid-column:1/-1;color:#4b836f;font-size:12px;font-weight:700;text-decoration:none}.detail-add{grid-column:1/-1}.hidden{display:none!important}
.microsoft-login{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:21px;border:1px solid #cfded8;border-radius:6px;background:#f6fbf8;color:#315e56;padding:12px;font:700 13px "DM Sans";cursor:pointer}.microsoft-login:hover{background:#edf7f2}.microsoft-login:disabled{cursor:wait;opacity:.65}.microsoft-login span{font-size:18px}.microsoft-status{margin:9px 0 0;color:#879590;font-size:11px;line-height:1.45}.microsoft-status.error{color:#b86767}.microsoft-status.success{color:#4d806f}.login-divider{display:flex;align-items:center;gap:8px;margin:17px 0 -7px;color:#a2aeab;font-size:10px;letter-spacing:.6px;text-transform:uppercase}.login-divider:before,.login-divider:after{height:1px;content:"";flex:1;background:#e5ebe8}
.order-row{cursor:pointer;transition:background .15s}.order-row:hover,.order-row:focus{background:#f7fbf8;outline:0}.clickable-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.clickable-card:hover,.clickable-card:focus{border-color:#9fc6b7;box-shadow:0 4px 12px #315e5114;outline:0}.order-detail-list{grid-column:1/-1}.order-detail-list>.eyebrow{margin-top:4px}.order-detail-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border-top:1px solid #edf0ec;padding:11px 0}.order-detail-line small{display:block;margin-top:3px;color:#8b9996;font-size:11px}.order-detail-line span,.order-detail-line>strong{color:#52716a;font-size:12px}@media(max-width:560px){.order-detail-line{grid-template-columns:1fr auto}.order-detail-line>span{grid-column:1}.order-detail-line>strong{grid-column:2;grid-row:1/3}}
