/* Portal-wide modern controls and calendar */
select{appearance:none;-webkit-appearance:none;padding-right:42px!important;background-image:linear-gradient(45deg,transparent 50%,#eccf67 50%),linear-gradient(135deg,#eccf67 50%,transparent 50%),linear-gradient(90deg,rgba(218,187,75,.13),rgba(218,187,75,.13))!important;background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%,calc(100% - 40px) 0!important;background-size:5px 5px,5px 5px,1px 100%!important;background-repeat:no-repeat!important;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease!important}
select:hover{border-color:rgba(233,200,80,.48)!important;background-color:rgba(28,26,20,.94)!important}select:focus{border-color:#e8c648!important;box-shadow:0 0 0 3px rgba(232,198,72,.13)!important}
.portal-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.portal-date-control{position:relative;width:100%}.portal-date-trigger{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(210,179,69,.28);border-radius:11px;background:linear-gradient(180deg,rgba(29,27,21,.96),rgba(19,18,14,.96));color:#f8f6ee;font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.025);transition:.2s ease}.portal-date-trigger:hover,.portal-date-control.is-open .portal-date-trigger{border-color:#e8c648;box-shadow:0 0 0 3px rgba(232,198,72,.12)}.portal-date-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-date-trigger span.is-placeholder{color:#a29771}.portal-date-trigger b{width:27px;height:27px;display:grid;place-items:center;flex:none;border-radius:8px;background:rgba(209,172,38,.12);color:#edd069;font-size:13px}
.portal-calendar{position:absolute;z-index:10000;top:calc(100% + 8px);left:0;width:min(330px,calc(100vw - 28px));padding:14px;border:1px solid rgba(226,191,65,.31);border-radius:17px;background:linear-gradient(155deg,rgba(34,32,25,.985),rgba(20,19,14,.99));box-shadow:0 26px 80px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(24px);animation:portalCalendarIn .18s ease both}.portal-calendar[hidden]{display:none}.portal-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;margin-bottom:11px}.portal-calendar-head strong{text-align:center;color:#faf9f3;font-size:12px}.portal-calendar-head button{width:34px;height:34px;border:1px solid rgba(217,186,76,.2);border-radius:9px;background:rgba(173,145,44,.09);color:#d8cb9e;cursor:pointer}.portal-calendar-head button:hover{background:rgba(210,175,48,.18);color:white}.portal-calendar-week,.portal-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.portal-calendar-week span{text-align:center;color:#998c5f;font-size:8px;font-weight:900;padding:3px}.portal-calendar-grid button{aspect-ratio:1;border:1px solid transparent;border-radius:9px;background:transparent;color:#e3dab9;font-size:10px;font-weight:800;cursor:pointer}.portal-calendar-grid button:hover{border-color:rgba(230,193,56,.35);background:rgba(197,163,42,.13);color:white}.portal-calendar-grid button.is-muted{color:#6e6238}.portal-calendar-grid button.is-today{border-color:rgba(223,190,73,.28)}.portal-calendar-grid button.is-selected{background:linear-gradient(135deg,#d9b121,#e7c23d);color:white;box-shadow:0 6px 18px rgba(218,178,34,.25)}
.portal-calendar-time{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(204,176,76,.13)}.portal-calendar-time label{color:#9d9062;font-size:8px;font-weight:900}.portal-calendar-time select{width:100%;min-height:37px;margin-top:5px}.portal-calendar-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.portal-calendar-actions button{min-height:35px;padding:8px 13px;border:1px solid rgba(214,183,72,.22);border-radius:9px;background:rgba(151,126,34,.12);color:#dacfa5;font-size:9px;font-weight:900;cursor:pointer}.portal-calendar-actions button:last-child{border-color:transparent;background:linear-gradient(135deg,#d7af20,#e7c23d);color:#fff}.portal-calendar-actions button:hover{filter:brightness(1.12)}
@keyframes portalCalendarIn{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:520px){.portal-calendar{position:fixed;left:14px;right:14px;top:50%;width:auto;transform:translateY(-50%);animation:portalCalendarMobileIn .18s ease both}@keyframes portalCalendarMobileIn{from{opacity:0;transform:translateY(-47%) scale(.98)}to{opacity:1;transform:translateY(-50%)}}}@media(prefers-reduced-motion:reduce){.portal-calendar{animation:none}}

/* Refined SASP date dialog */
.portal-calendar{top:calc(100% + 9px);width:min(370px,calc(100vw - 28px));padding:17px;border-color:rgba(226,191,65,.35);border-radius:20px;background:radial-gradient(circle at 10% 0,rgba(207,171,42,.12),transparent 34%),linear-gradient(155deg,rgba(34,32,25,.995),rgba(20,19,14,.995));box-shadow:0 30px 90px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.05)}.portal-calendar-head{grid-template-columns:38px 1fr 38px;gap:9px;margin-bottom:13px}.portal-calendar-head strong{font-size:14px}.portal-calendar-head button{width:38px;height:38px;border-radius:11px;font-size:19px}.portal-calendar-week span{padding:5px 3px;color:#aa9e73;font-size:9px}.portal-calendar-grid button{border-radius:10px;color:#e8e1c7;font-size:11px;font-weight:850}.portal-calendar-time{gap:10px;margin-top:13px;padding-top:13px}.portal-calendar-time label{color:#bbb086;font-size:9px}.portal-calendar-time select{min-height:42px}.portal-calendar-actions{margin-top:14px}.portal-calendar-actions button{min-height:39px;padding:9px 15px;font-size:10px}
.portal-calendar .portal-calendar-week,.portal-calendar .portal-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-flow:row!important;width:100%!important;gap:5px!important}.portal-calendar .portal-calendar-grid>button{display:grid!important;place-items:center!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;white-space:normal!important;box-shadow:none!important;transform:none!important}.portal-calendar .portal-calendar-grid>button:hover{transform:none!important;box-shadow:none!important}.portal-calendar .portal-calendar-week>span{display:block!important;min-width:0!important;text-align:center!important}

/* Isolated picker: deliberately independent from portal calendar and generic buttons */
.sasp-date-popover{position:absolute!important;z-index:10000!important;top:calc(100% + 9px)!important;left:0!important;display:block!important;box-sizing:border-box!important;width:370px!important;max-width:calc(100vw - 28px)!important;height:auto!important;padding:17px!important;overflow:visible!important;border:1px solid rgba(226,191,65,.38)!important;border-radius:20px!important;background:radial-gradient(circle at 10% 0,rgba(207,171,42,.13),transparent 34%),linear-gradient(155deg,#26241c,#14130e)!important;box-shadow:0 30px 90px rgba(0,0,0,.64),inset 0 1px rgba(255,255,255,.05)!important;backdrop-filter:blur(24px)!important}.sasp-date-popover[hidden]{display:none!important}.sasp-date-head{display:grid!important;grid-template-columns:38px minmax(0,1fr) 38px!important;align-items:center!important;gap:9px!important;width:100%!important;margin:0 0 13px!important}.sasp-date-head strong{display:block!important;margin:0!important;color:#faf9f3!important;font-size:14px!important;text-align:center!important}.sasp-date-head button{display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border:1px solid rgba(217,186,76,.26)!important;border-radius:11px!important;background:rgba(173,145,44,.12)!important;color:#e2d9b9!important;font-size:19px!important;line-height:1!important;box-shadow:none!important;transform:none!important}.sasp-date-week,.sasp-date-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:5px!important;width:100%!important;margin:0!important;padding:0!important}.sasp-date-week{margin-bottom:5px!important}.sasp-date-week span{display:block!important;min-width:0!important;padding:4px 0!important;color:#aa9e73!important;font-size:9px!important;font-weight:900!important;text-align:center!important}.sasp-date-grid button{display:grid!important;place-items:center!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:1!important;margin:0!important;padding:0!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:#e8e1c7!important;font-size:11px!important;font-weight:850!important;line-height:1!important;white-space:normal!important;box-shadow:none!important;transform:none!important}.sasp-date-grid button:hover{border-color:rgba(230,193,56,.38)!important;background:rgba(197,163,42,.14)!important;color:#fff!important;transform:none!important}.sasp-date-grid button.is-muted{color:#7a6e41!important}.sasp-date-grid button.is-today{border-color:rgba(223,190,73,.34)!important}.sasp-date-grid button.is-selected{border-color:transparent!important;background:linear-gradient(135deg,#d9b121,#e7c23d)!important;color:#fff!important;box-shadow:0 6px 18px rgba(218,178,34,.25)!important}.sasp-date-time{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:13px 0 0!important;padding:13px 0 0!important;border-top:1px solid rgba(204,176,76,.15)!important}.sasp-date-time label{display:block!important;color:#bbb086!important;font-size:9px!important;font-weight:900!important}.sasp-date-time select{width:100%!important;min-height:42px!important;margin-top:5px!important}.sasp-date-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:14px 0 0!important}.sasp-date-actions button{display:inline-flex!important;width:auto!important;min-width:95px!important;min-height:39px!important;margin:0!important;padding:9px 15px!important;border:1px solid rgba(214,183,72,.24)!important;border-radius:10px!important;background:rgba(151,126,34,.14)!important;color:#e0d6b3!important;font-size:10px!important;font-weight:900!important;box-shadow:none!important;transform:none!important}.sasp-date-actions button:last-child{border-color:transparent!important;background:linear-gradient(135deg,#d7af20,#e7c23d)!important;color:#fff!important}@media(max-width:520px){.sasp-date-popover{position:fixed!important;top:50%!important;right:14px!important;left:14px!important;width:auto!important;max-width:none!important;transform:translateY(-50%)!important}}
