/*!
 * FlashGL Client Portal Styles
 * Extracted from page-portal.php inline styles
 */.portal-auth{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:4rem 1rem}.portal-auth__card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.05);max-width:440px;padding:2.5rem;width:100%}.portal-auth__brand{margin-bottom:1.25rem;text-align:center}.portal-auth__brand svg{display:block;margin:0 auto}.portal-auth__title{color:#111827;font-size:1.5rem;font-weight:800;margin:0 0 .375rem;text-align:center}.portal-auth__desc{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem;text-align:center}.portal-auth__error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.8125rem;margin-bottom:1rem;padding:.625rem .875rem}.portal-auth__form{display:flex;flex-direction:column;gap:.875rem}.portal-auth__field label{color:#374151;display:block;font-size:.8125rem;font-weight:600;margin-bottom:.25rem}.portal-auth__field input,.portal-auth__field select,.portal-auth__field textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.9375rem;outline:none;padding:.65rem .75rem;transition:border-color .2s,background .2s;width:100%}.portal-auth__field input:focus,.portal-auth__field select:focus,.portal-auth__field textarea:focus{background:#fff;border-color:#1a2b8c;box-shadow:0 0 0 3px rgba(26,43,140,.08)}.portal-auth__remember{color:#6b7280;font-size:.8125rem}.portal-auth__row{align-items:center;display:flex;justify-content:space-between;margin-top:.25rem}.portal-auth__forgot{color:#1a2b8c;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .2s}.portal-auth__forgot:hover{color:#d00020;text-decoration:underline}.portal-auth__back{margin-top:1.25rem}.portal-auth__success{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46;font-size:.875rem;line-height:1.5;padding:1rem;text-align:center}.portal-auth__submit{font-size:.9375rem!important;justify-content:center;padding:.7rem!important;width:100%}.portal-auth__footer{border-top:1px solid #e5e7eb;color:#9ca3af;font-size:.8125rem;margin-top:1.25rem;padding-top:1.25rem;text-align:center}.portal-auth__footer a{color:#1a2b8c;font-weight:600;text-decoration:none}.portal-auth__footer a:hover{text-decoration:underline}.portal-dashboard{padding:3rem 0 5rem}.portal-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.portal-header__title{color:#111827;font-size:2rem;font-weight:800;margin:0}.portal-header__actions{align-items:center;display:flex;gap:.75rem}.portal-header__logout{color:#9ca3af;font-size:.8125rem;text-decoration:none}.portal-header__logout:hover{color:#6b7280}.portal-layout{align-items:flex-start;display:flex;gap:2rem}.portal-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-shrink:0;overflow:hidden;position:sticky;top:100px;width:240px}.portal-sidebar__user{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:.75rem;padding:1.25rem 1.25rem 1rem}.portal-sidebar__user img{border-radius:50%;height:40px;width:40px}.portal-sidebar__user strong{color:#111827;display:block;font-size:.875rem}.portal-sidebar__user span{color:#9ca3af;font-size:.6875rem;word-break:break-all}.portal-sidebar__nav{padding:.5rem 0}.portal-nav-item{align-items:center;border-left:3px solid transparent;color:#6b7280;display:flex;font-size:.875rem;font-weight:500;gap:.625rem;padding:.65rem 1.25rem;text-decoration:none;transition:all .15s}.portal-nav-item:hover{background:#f9fafb;color:#111827}.portal-nav-item.active{background:#f0f4ff;border-left-color:#1a2b8c;color:#1a2b8c;font-weight:600}.portal-nav-item svg{flex-shrink:0;opacity:.55}.portal-nav-item.active svg{opacity:1}.portal-sidebar__footer{border-top:1px solid #e5e7eb;padding:1rem 1.25rem}.portal-sidebar__logout{color:#9ca3af;display:block;font-size:.75rem;margin-top:.625rem;text-align:center;text-decoration:none}.portal-sidebar__logout:hover{color:#6b7280}.portal-main{flex:1;min-width:0}.portal-stats{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2.5rem}.portal-stat{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;padding:1.5rem;position:relative;text-align:center;transition:border-color .2s,box-shadow .2s}.portal-stat:hover{border-color:#1a2b8c;box-shadow:0 4px 12px rgba(26,43,140,.06)}.portal-stat__icon{align-items:center;background:#f0f4ff;border-radius:50%;display:flex;height:44px;justify-content:center;margin-bottom:.25rem;width:44px}.portal-stat__icon svg{fill:none;height:22px;stroke:#1a2b8c;stroke-width:1.8;width:22px}.portal-stat__value{color:#1a2b8c;font-size:2rem;font-weight:800;line-height:1}.portal-stat__label{color:#6b7280;font-size:.8125rem;margin-top:.125rem}.portal-section__title{color:#111827;font-size:1.125rem;font-weight:700;margin:0 0 1rem}.portal-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:calc(100vw - 2rem)}.portal-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:10px;width:100%}.portal-table th{background:#f9fafb;color:#6b7280;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.portal-table td{border-top:1px solid #e5e7eb;color:#374151;font-size:.875rem;padding:.75rem 1rem}.portal-status{border-radius:4px;display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.3px;padding:.15rem .6rem;text-transform:uppercase}.portal-status--pending{background:#fef3c7;color:#92400e}.portal-status--quoted{background:#dbeafe;color:#1e40af}.portal-status--accepted{background:#d1fae5;color:#065f46}.portal-status--processing{background:#ede9fe;color:#5b21b6}.portal-status--shipped{background:#fee2e2;color:#991b1b}.portal-status--delivered{background:#e5e7eb;color:#374151}.portal-status--confirmed,.portal-status--reminded{background:#d1fae5;color:#065f46}.portal-status--cancelled{background:#fee2e2;color:#991b1b}.portal-status--no_show{background:#f3f4f6;color:#6b7280}.portal-status--follow_up{background:#fef3c7;color:#92400e}.portal-status--converted{background:#dbeafe;color:#1e40af}.portal-empty{color:#9ca3af;padding:3rem 1rem;text-align:center}.portal-empty svg{display:block;margin:0 auto}.portal-empty h3{color:#6b7280;font-size:1.125rem;font-weight:700;margin:.75rem 0 .25rem}.portal-empty p{font-size:.875rem;line-height:1.5;margin:0}.portal-rfq-filters{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1.5rem}.portal-rfq-filter{border:1px solid #d1d5db;border-radius:6px;color:#6b7280;font-size:.8125rem;font-weight:500;padding:.35rem .75rem;text-decoration:none;transition:all .15s}.portal-rfq-filter.active,.portal-rfq-filter:hover{background:#f0f4ff;border-color:#1a2b8c;color:#1a2b8c}.portal-rfq-list{display:flex;flex-direction:column;gap:.5rem}.portal-rfq-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:border-color .2s}.portal-rfq-item:hover{border-color:#c7d2fe}.portal-rfq-summary{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:1rem;list-style:none;padding:1rem 1.25rem}.portal-rfq-summary::-webkit-details-marker{display:none}.portal-rfq-summary__date{color:#111827;font-weight:600;min-width:90px}.portal-rfq-summary__route{color:#374151;flex:1}.portal-rfq-summary__type{color:#6b7280}.portal-rfq-summary__arrow{color:#9ca3af;flex-shrink:0;transition:transform .2s}.portal-rfq-item[open] .portal-rfq-summary__arrow{transform:rotate(180deg)}.portal-rfq-detail{display:flex;flex-direction:column;gap:.625rem;padding:0 1.25rem 1.25rem}.portal-rfq-detail__row{display:flex;gap:1rem}.portal-rfq-detail__label{color:#6b7280;font-size:.8125rem;font-weight:600;min-width:100px}.portal-rfq-detail__actions{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;margin-top:.5rem;padding-top:.75rem}.portal-tracking-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;padding:1.5rem}.portal-tracking-card__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.25rem}.portal-tracking-card__type{color:#6b7280;display:block;font-size:.8125rem;margin-top:.25rem}.portal-tracking-timeline{display:flex;gap:0}.portal-tracking-step{align-items:center;display:flex;flex:1;flex-direction:column;gap:.375rem;position:relative}.portal-tracking-step:after{background:#e5e7eb;content:"";height:2px;left:50%;position:absolute;top:10px;width:100%;z-index:0}.portal-tracking-step:last-child:after{display:none}.portal-tracking-step--done:after{background:#1a2b8c}.portal-tracking-step__dot{background:#fff;color:#d1d5db;font-size:1rem;padding:0 4px;z-index:1}.portal-tracking-step--done .portal-tracking-step__dot{color:#1a2b8c}.portal-tracking-step__content{text-align:center;z-index:1}.portal-tracking-step__label{color:#9ca3af;font-size:.6875rem;font-weight:600}.portal-tracking-step--done .portal-tracking-step__label{color:#374151}.portal-tracking-card__pod{align-items:center;border-top:1px solid #e5e7eb;color:#065f46;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-top:1rem;padding-top:1rem}.portal-profile__grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.portal-profile__section h3{border-bottom:2px solid #e5e7eb;color:#111827;font-size:1rem;font-weight:700;margin:0 0 1rem;padding-bottom:.5rem}.portal-profile__check{color:#6b7280;font-size:.8125rem;margin-top:.75rem}.portal-book-meeting{margin-bottom:2rem}.portal-events-loading{color:#6b7280;font-size:.875rem;padding:2rem;text-align:center}.portal-spinner{animation:portal-spin .6s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#1a2b8c;display:inline-block;height:16px;vertical-align:middle;width:16px}@keyframes portal-spin{to{transform:rotate(1turn)}}.portal-events-list{display:grid;gap:1rem;grid-template-columns:1fr;margin-bottom:1.5rem}.portal-event-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:1rem;padding:1rem 1.25rem;transition:border-color .2s,box-shadow .2s}.portal-event-card:hover{border-color:#1a2b8c;box-shadow:0 2px 8px rgba(26,43,140,.08)}.portal-event-card--booked{opacity:.65}.portal-event-card__img{border-radius:8px;flex-shrink:0;height:64px;overflow:hidden;width:64px}.portal-event-card__img img{height:100%;object-fit:cover;width:100%}.portal-event-card__body{flex:1;min-width:0}.portal-event-card__type{background:#f0f4ff;border-radius:3px;color:#1a2b8c;display:inline-block;font-size:.625rem;font-weight:700;letter-spacing:.5px;margin-bottom:.25rem;padding:.1rem .5rem;text-transform:uppercase}.portal-event-card__title{color:#111827;font-size:.9375rem;font-weight:700;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-event-card__title a{color:inherit;text-decoration:none}.portal-event-card__title a:hover{color:#1a2b8c;text-decoration:underline}.portal-event-card__info{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem}.portal-event-card__slots{color:#1a2b8c;font-weight:600}.portal-event-card__badge{background:#d1fae5;border-radius:3px;color:#059669;display:inline-block;font-size:.625rem;font-weight:700;margin-left:.5rem;padding:.1rem .5rem}.portal-event-card__action{flex-shrink:0}.portal-event-card__booked-label{color:#059669;font-size:.75rem;font-weight:600}.portal-booking-widget{background:#fff;border:2px solid #1a2b8c;border-radius:14px;margin-bottom:1.5rem;overflow:hidden}.portal-booking-widget__header{align-items:center;background:#f0f4ff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.25rem}.portal-booking-widget__header h3{color:#111827;font-size:1rem;font-weight:700;margin:0}.portal-booking-widget__close{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:.25rem;transition:color .15s}.portal-booking-widget__close:hover{color:#111827}.portal-booking-widget__body{padding:1.25rem}.portal-booking-widget__tz{align-items:center;background:#f9fafb;border-radius:6px;color:#6b7280;display:flex;font-size:.75rem;gap:.375rem;margin-bottom:.75rem;padding:.5rem .75rem}.portal-booking-widget__tz strong{color:#374151}.portal-booking-dates{display:flex;flex-wrap:nowrap;gap:.375rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-color:#cbd5e1 transparent;scrollbar-width:thin}.portal-booking-dates::-webkit-scrollbar{height:3px}.portal-booking-dates::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.portal-booking-date-tab{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.75rem;font-weight:600;padding:.4rem .75rem;transition:all .15s}.portal-booking-date-tab:hover{border-color:#1a2b8c;color:#1a2b8c}.portal-booking-date-tab.active{background:#1a2b8c;border-color:#1a2b8c;color:#fff}.portal-booking-slots{margin-bottom:1rem}.portal-slot-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.portal-slot-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;padding:.6rem .5rem;transition:all .15s}.portal-slot-btn:hover{background:#f0f4ff;border-color:#1a2b8c}.portal-slot-btn--selected{background:#1a2b8c;border-color:#1a2b8c;color:#fff}.portal-slot-btn__time{font-size:.8125rem;font-weight:700}.portal-slot-btn__avail{color:#6b7280;font-size:.625rem;margin-top:.125rem}.portal-slot-btn--selected .portal-slot-btn__avail{color:hsla(0,0%,100%,.7)}.portal-booking-selected{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46;display:flex;font-size:.8125rem;font-weight:600;justify-content:space-between;margin-bottom:1rem;padding:.625rem .875rem}.portal-booking-clear{background:none;border:none;color:#b91c1c;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600}.portal-booking-form__grid,.portal-booking-form__row{display:grid;gap:.875rem;grid-template-columns:1fr 1fr;margin-bottom:.875rem}.portal-booking-form__consent{color:#6b7280;font-size:.75rem;margin:.75rem 0}.portal-booking-form__consent label{align-items:flex-start;cursor:pointer;display:flex;gap:.375rem}.portal-booking-form__consent input[type=checkbox]{margin-top:.125rem}.portal-meeting-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:.5rem;overflow:hidden;transition:border-color .2s}.portal-meeting-card:hover{border-color:#c7d2fe}.portal-meeting-card__summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:1rem 1.25rem}.portal-meeting-card__summary::-webkit-details-marker{display:none}.portal-meeting-card__summary-left{align-items:center;display:flex;flex:1;gap:.75rem;min-width:0}.portal-meeting-card__title{color:#111827;font-size:.9375rem;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-meeting-card__title a{color:inherit;text-decoration:none}.portal-meeting-card__title a:hover{color:#1a2b8c;text-decoration:underline}.portal-meeting-card__arrow{color:#9ca3af;flex-shrink:0;transition:transform .2s}.portal-meeting-card[open] .portal-meeting-card__arrow{transform:rotate(180deg)}.portal-meeting-card--upcoming{border-left:3px solid #1a2b8c}.portal-meeting-card__upcoming-badge{background:#f0f4ff;border-radius:3px;color:#1a2b8c;display:inline-block;font-size:.625rem;font-weight:700;padding:.1rem .5rem}.portal-meeting-card__detail{display:flex;flex-direction:column;gap:.625rem;padding:0 1.25rem 1.25rem}.portal-meeting-card__meta{display:flex;flex-wrap:wrap;gap:.75rem}.portal-meeting-card__meta-item{align-items:center;color:#374151;display:flex;font-size:.8125rem;gap:.375rem}.portal-meeting-card__meta-item svg{flex-shrink:0}.portal-meeting-card__staff{color:#374151;font-size:.8125rem}.portal-meeting-card__staff-label{color:#6b7280;font-weight:600;margin-right:.25rem}.portal-meeting-card__note{align-items:center;color:#6b7280;display:flex;font-size:.8125rem;font-style:italic;gap:.375rem}.portal-meeting-card__detail-row{display:flex;font-size:.8125rem;gap:1rem}.portal-meeting-card__actions{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding-top:.75rem}.portal-cancel-booking-btn{border-color:#fecaca!important;color:#b91c1c!important}.portal-cancel-booking-btn:hover{background:#fef2f2!important}.portal-obc-stats{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.portal-stats--meetings{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.portal-stats--single{grid-template-columns:1fr;margin-bottom:2rem}.portal-stat__value--status{color:#059669;font-size:1.25rem}.portal-stat__value--text{font-size:1.25rem}.portal-booking-form__submit,.portal-sidebar__new-rfq{justify-content:center;width:100%}.portal-view-all{font-size:.875rem;margin-top:.75rem;text-align:right}.portal-view-all a{color:#1a2b8c;font-weight:500;text-decoration:none}.portal-view-all a:hover{text-decoration:underline}.portal-stat__cta{margin-top:auto}.portal-profile__msg{margin-bottom:1rem}.portal-auth__back{margin-top:1rem;text-align:center}.portal-meetings__filters{margin-bottom:1.5rem}.portal-empty__action{margin-top:1rem}.portal-page .grecaptcha-badge{display:none!important}.portal-nav-item:focus-visible{border-radius:4px;outline:2px solid #1a2b8c;outline-offset:-2px}.portal-booking-date-tab:focus-visible,.portal-rfq-filter:focus-visible,.portal-slot-btn:focus-visible{outline:2px solid #1a2b8c;outline-offset:1px}@media (max-width:1024px){.portal-stats{grid-template-columns:repeat(2,1fr)}.portal-profile__grid{grid-template-columns:1fr}.portal-layout{flex-direction:column}.portal-sidebar{position:static;width:100%}.portal-sidebar__nav{display:flex;flex-wrap:wrap;gap:0}.portal-nav-item{border-bottom:3px solid transparent;border-left:none;flex:1;font-size:.75rem;justify-content:center;min-width:80px;padding:.55rem .5rem}.portal-nav-item.active{border-bottom-color:#1a2b8c;border-left:none}.portal-sidebar__footer{display:none}.portal-booking-form__grid,.portal-booking-form__row{grid-template-columns:1fr}.portal-slot-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}@media (max-width:640px){.portal-stats{grid-template-columns:1fr}.portal-rfq-summary{flex-wrap:wrap;gap:.25rem}.portal-tracking-timeline{flex-direction:column}.portal-tracking-step{align-items:flex-start;flex-direction:row;gap:.75rem}.portal-tracking-step:after{height:100%;left:10px;top:auto;width:2px}.portal-event-card{align-items:flex-start;flex-direction:column}.portal-event-card__action{align-self:flex-start}.portal-header__title{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){.portal-spinner{animation:none}.portal-event-card,.portal-meeting-card__arrow,.portal-nav-item,.portal-rfq-filter,.portal-rfq-summary__arrow,.portal-slot-btn{transition:none}}