.ausl-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:24px 0}.ausl-item{border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.05)}.ausl-item__image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.ausl-item__body{padding:20px}.ausl-item__body h3{margin:0 0 10px}.ausl-item__desc>:first-child{margin-top:0}.ausl-button{display:inline-block;padding:10px 16px;border-radius:7px;text-decoration:none;cursor:pointer;border:0;background:#1d4ed8;color:#fff;font-weight:600}.ausl-button:hover,.ausl-button:focus{background:#1741af;color:#fff}.ausl-item .ausl-button{margin-top:16px}.ausl-empty{padding:16px;border:1px solid #ddd;border-radius:8px}
.ausl-calendar-wrap{margin:25px 0}.ausl-calendar-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:12px}.ausl-calendar-controls button{height:40px;border:1px solid #ccc;border-radius:7px;background:#fff;color:#222!important;font-size:24px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.ausl-cal-title{text-align:center;font-size:34px!important;font-weight:700;line-height:1.25;text-transform:capitalize}.ausl-calendar-filter{margin-bottom:14px}.ausl-calendar-filter label{display:block;font-weight:600;margin-bottom:5px}.ausl-calendar-filter select{min-width:260px;max-width:100%;padding:8px}.ausl-calendar-grid{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff}.ausl-cal-week,.ausl-cal-days{display:grid;grid-template-columns:repeat(7,1fr)}.ausl-cal-week span{padding:10px;text-align:center;font-size:16px!important;font-weight:600;background:#f4f4f5}.ausl-cal-day{min-height:105px;border-top:1px solid #eee;border-right:1px solid #eee;padding:7px;overflow:hidden}.ausl-cal-day:nth-child(7n){border-right:0}.ausl-cal-day.is-outside{background:#fafafa;color:#8c8f94}.ausl-cal-daynum{font-size:13px;font-weight:600;margin-bottom:4px}.ausl-cal-event{font-size:11px;line-height:1.25;padding:4px 5px;border-radius:4px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ausl-cal-event.is-busy{background:#fee2e2;color:#991b1b;border-left:3px solid #dc2626}.ausl-cal-event.is-pending{background:#fff3cd;color:#7a5700}.ausl-cal-error{padding:10px;margin:0}.ausl-calendar-legend{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0 16px;font-size:18px;font-weight:600}.ausl-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px}.ausl-dot-busy{background:#dc2626}.ausl-dot-pending{background:#d6a500}
.ausl-form{max-width:800px}.ausl-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.ausl-form-grid p{margin:0 0 10px}.ausl-form-full{grid-column:1/-1}.ausl-form label{display:block;font-weight:600;margin-bottom:5px}.ausl-form input,.ausl-form select,.ausl-form textarea{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccc;border-radius:6px}.ausl-privacy{font-size:13px;color:#646970}.ausl-form-message{padding:13px 16px;border-radius:7px;margin:0 0 18px}.ausl-form-success{background:#e7f6eb;color:#155724}.ausl-form-error{background:#fde8e8;color:#8a1c1c}.ausl-honeypot{position:absolute;left:-10000px;opacity:0;height:0;overflow:hidden}
@media(max-width:700px){.ausl-cal-title{font-size:28px!important}.ausl-form-grid{grid-template-columns:1fr}.ausl-form-full{grid-column:auto}.ausl-cal-day{min-height:85px;padding:5px}.ausl-cal-event{font-size:10px}.ausl-calendar-filter select{width:100%}}

.ausl-purpose-help{display:block;margin-top:6px;color:#646970;}

.ausl-external-dashboard{max-width:1100px;margin:24px 0}.ausl-external-table{width:100%;border-collapse:collapse;background:#fff}.ausl-external-table th,.ausl-external-table td{padding:9px 10px;border:1px solid #ddd;text-align:left;vertical-align:top}.ausl-external-table .ausl-id-column{width:82px;min-width:82px;white-space:nowrap;font-variant-numeric:tabular-nums}.ausl-external-table th{background:#f4f4f5}.ausl-external-card{border:1px solid #ddd;border-radius:8px;background:#fff;padding:18px;margin:16px 0}.ausl-external-form{max-width:760px}.ausl-external-form label{display:block;font-weight:600;margin-bottom:5px}.ausl-external-form select,.ausl-external-form textarea{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccc;border-radius:6px}.ausl-external-form p{margin:0 0 14px}@media(max-width:700px){.ausl-external-table{font-size:13px;display:block;overflow-x:auto;white-space:nowrap}.ausl-external-table tbody,.ausl-external-table thead{width:100%}}

.ausl-form input[type=checkbox]{width:auto;flex:0 0 auto;margin:4px 8px 0 0;padding:0}.ausl-form .ausl-terms-field label,.ausl-form .ausl-active-confirmation label{display:flex;align-items:flex-start;gap:4px;font-weight:500;line-height:1.5}.ausl-form .ausl-terms-field,.ausl-form .ausl-active-confirmation{margin-top:14px}

/* Multi-day calendar bookings are rendered in aligned lanes across adjacent date cells. */
.ausl-cal-event-placeholder{display:block;height:20px;margin:2px 0;visibility:hidden;pointer-events:none}
.ausl-cal-event.is-span{box-sizing:border-box;margin:2px -7px;width:calc(100% + 14px);border-radius:0;position:relative;z-index:1;min-width:0}
.ausl-cal-event.is-span-start{margin-left:0;width:calc(100% + 7px);border-radius:4px 0 0 4px}
.ausl-cal-event.is-span-end{margin-right:0;width:calc(100% + 7px);border-radius:0 4px 4px 0}
.ausl-cal-event.is-span-start.is-span-end{margin-left:0;margin-right:0;width:100%;border-radius:4px}

/* Calendar layout: one event bar spans all occupied date columns for each week. */
.ausl-cal-days{display:flex;flex-direction:column;}
.ausl-cal-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;overflow:hidden;background:#fff;border-top:1px solid #eee;}
.ausl-cal-week-row .ausl-cal-day{min-height:0;overflow:hidden;position:relative;z-index:0;border-top:0;padding:7px;}
.ausl-cal-week-row .ausl-cal-day.is-sunday{border-right:0;}
.ausl-cal-week-row .ausl-cal-event{align-self:start;min-width:0;width:auto;height:18px;box-sizing:border-box;margin:2px 1px;padding:3px 5px;font-size:11px;line-height:12px;position:relative;z-index:2;}
.ausl-cal-week-row .ausl-cal-event.is-span{border-radius:0;}
.ausl-cal-week-row .ausl-cal-event.is-span-start{border-radius:4px 0 0 4px;}
.ausl-cal-week-row .ausl-cal-event.is-span-end{border-radius:0 4px 4px 0;}
.ausl-cal-week-row .ausl-cal-event.is-span-start.is-span-end{border-radius:4px;}
.ausl-cal-week-row .ausl-cal-event.is-span-continues{border-top-right-radius:0;border-bottom-right-radius:0;}
.ausl-cal-week-row .ausl-cal-event.is-span-continuation{border-top-left-radius:0;border-bottom-left-radius:0;}
@media(max-width:700px){.ausl-cal-week-row .ausl-cal-event{font-size:10px;padding:3px 3px;height:18px;line-height:12px}.ausl-cal-week-row .ausl-cal-day{padding:5px}}


/* Frontend staff dashboard: keep takeover actions on one line and split request groups clearly. */
.ausl-external-request-group{margin:24px 0 32px;}
.ausl-external-request-group h3{margin:0 0 10px;font-size:1.25em;}
.ausl-external-count{font-size:.85em;color:#646970;font-weight:400;}
.ausl-external-table th.ausl-action-column,.ausl-external-table td.ausl-action-column{width:160px;min-width:160px;white-space:nowrap;}
.ausl-external-table .ausl-takeover-button{display:inline-block;min-width:105px;text-align:center;white-space:nowrap;box-sizing:border-box;}
@media(max-width:700px){.ausl-external-table th.ausl-action-column,.ausl-external-table td.ausl-action-column{min-width:160px;width:160px;}}
