@import "https://flux.kaptio.com/tokens/flux.css";@import "https://fonts.googleapis.com/css2?family=Lexend:wght@300;700&display=swap";*,:before,:after{box-sizing:border-box}html{font-size:clamp(16px,.875rem + .4vw,19px);font-weight:300}body{min-height:100vh;font-family:var(--flux-font-sans), "Lexend", sans-serif;color:var(--flux-black);background:var(--flux-background);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;line-height:1.5}#root{min-height:100vh}.portal{flex-direction:column;min-height:100vh;display:flex}.portal-header{justify-content:space-between;align-items:center;gap:var(--flux-space-4);padding:var(--flux-space-4) var(--flux-space-5);background:var(--flux-primary-800);color:var(--flux-white);border-bottom:1px solid var(--flux-primary-700);flex-wrap:wrap;display:flex}.portal-header__brand{gap:var(--flux-space-1);flex-direction:column;min-width:0;display:flex}.portal-header__eyebrow{font-size:var(--flux-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--flux-primary-100);margin:0;font-weight:700}.portal-header__title{font-size:var(--flux-text-xl);margin:0;font-weight:700;line-height:1.2}.portal-header__actions{align-items:center;gap:var(--flux-space-3);flex-wrap:wrap;display:flex}.portal-header__user{font-size:var(--flux-text-sm);color:var(--flux-primary-100);word-break:break-all}.portal-main{width:100%;max-width:72rem;padding:var(--flux-space-5) var(--flux-space-4);flex:1;margin:0 auto}.portal-banner{margin:0 0 var(--flux-space-4);padding:var(--flux-space-3) var(--flux-space-4);font-size:var(--flux-text-sm);color:var(--flux-black);background:var(--flux-primary-50);border:1px solid var(--flux-primary-100);border-radius:var(--flux-radius-md)}.portal-banner--error{color:var(--flux-error);background:var(--flux-orange-100);border-color:var(--flux-orange-200)}.portal-card{background:var(--flux-surface);border:1px solid var(--flux-grey-100);border-radius:var(--flux-radius-lg);padding:var(--flux-space-5)}.portal-card__title{margin:0 0 var(--flux-space-1);font-size:var(--flux-text-lg);color:var(--flux-black);font-weight:700}.portal-card__subtitle{margin:0 0 var(--flux-space-5);font-size:var(--flux-text-sm);color:var(--flux-grey-500)}.auth-form,.auth-form__fields{gap:var(--flux-space-4);display:grid}@media (width>=40rem){.auth-form__fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-form__actions{gap:var(--flux-space-3);flex-wrap:wrap;display:flex}.field{gap:var(--flux-space-1);flex-direction:column;display:flex}.field__label{font-size:var(--flux-text-sm);color:var(--flux-black);font-weight:700}.field__input{width:100%;padding:var(--flux-space-2) var(--flux-space-3);font-family:inherit;font-size:var(--flux-text-sm);color:var(--flux-black);background:var(--flux-surface);border:1px solid var(--flux-grey-200);border-radius:var(--flux-radius-md);transition:border-color var(--flux-duration-fast) var(--flux-ease), box-shadow var(--flux-duration-fast) var(--flux-ease);outline:none;font-weight:300}.field__input::placeholder{color:var(--flux-grey-300)}.field__input:focus{border-color:var(--flux-primary-400);box-shadow:0 0 0 1px var(--flux-primary-300)}.field__input:disabled{opacity:.5;cursor:not-allowed;background:var(--flux-grey-50)}.btn{justify-content:center;align-items:center;gap:var(--flux-space-2);padding:var(--flux-space-2) var(--flux-space-4);font-family:inherit;font-size:var(--flux-text-sm);white-space:nowrap;border-radius:var(--flux-radius-sm);cursor:pointer;transition:background-color var(--flux-duration-fast) var(--flux-ease), border-color var(--flux-duration-fast) var(--flux-ease), color var(--flux-duration-fast) var(--flux-ease), opacity var(--flux-duration-fast) var(--flux-ease);border:1px solid #0000;outline:none;font-weight:700;line-height:1.25;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 2px var(--flux-primary-300)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{color:var(--flux-white);background:var(--flux-primary-600)}.btn--primary:hover:not(:disabled){background:var(--flux-primary-500)}.btn--primary:active:not(:disabled){background:var(--flux-primary-700)}.btn--secondary{color:var(--flux-black);background:var(--flux-grey-100)}.btn--secondary:hover:not(:disabled){background:var(--flux-grey-50)}.btn--outline{color:var(--flux-primary-600);border-color:var(--flux-primary-600);background:0 0}.btn--outline:hover:not(:disabled){background:var(--flux-primary-50)}.btn--ghost{color:var(--flux-primary-100);border-color:var(--flux-primary-400);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--flux-primary-700)}.btn--danger{color:var(--flux-white);background:var(--flux-error)}.btn--danger:hover:not(:disabled){opacity:.9}.btn--tab{color:var(--flux-grey-500);padding:var(--flux-space-2) var(--flux-space-3);background:0 0;border-color:#0000;border-bottom-style:solid;border-bottom-width:2px;border-radius:0}.btn--tab:hover:not(:disabled){color:var(--flux-primary-600)}.btn--tab.is-active{color:var(--flux-primary-600);border-bottom-color:var(--flux-primary-400)}.workspace{gap:var(--flux-space-4);display:grid}@media (width>=48rem){.workspace{grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:start}}.request-panel__meta{margin:0 0 var(--flux-space-4);padding-bottom:var(--flux-space-4);border-bottom:1px solid var(--flux-grey-100)}.request-panel__email{margin:0 0 var(--flux-space-1);font-size:var(--flux-text-sm);word-break:break-word;font-weight:700}.request-panel__accounts{font-size:var(--flux-text-xs);color:var(--flux-grey-500);word-break:break-word;margin:0}.request-panel__heading{margin:0 0 var(--flux-space-3);font-size:var(--flux-text-sm);color:var(--flux-grey-300);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.request-list{gap:var(--flux-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.request-item{width:100%;padding:var(--flux-space-3);text-align:left;color:var(--flux-black);background:var(--flux-surface);border:1px solid var(--flux-grey-100);border-radius:var(--flux-radius-md);cursor:pointer;transition:border-color var(--flux-duration-fast) var(--flux-ease), box-shadow var(--flux-duration-fast) var(--flux-ease);outline:none;font-family:inherit;font-weight:300;display:block}.request-item:hover{border-color:var(--flux-primary-300)}.request-item:focus-visible{border-color:var(--flux-primary-400);box-shadow:0 0 0 1px var(--flux-primary-300)}.request-item.is-selected{border-color:var(--flux-primary-400);background:var(--flux-primary-50)}.request-item__name{margin-bottom:var(--flux-space-1);font-size:var(--flux-text-sm);font-weight:700;display:block}.request-item__supplier{margin-bottom:var(--flux-space-1);font-size:var(--flux-text-xs);color:var(--flux-grey-500);display:block}.request-item__meta{gap:var(--flux-space-1) var(--flux-space-2);margin-bottom:var(--flux-space-2);font-size:var(--flux-text-xs);color:var(--flux-grey-500);flex-wrap:wrap;display:flex}.request-item__meta span+span:before{margin-right:var(--flux-space-2);content:"·"}.request-item__status{align-items:center;gap:var(--flux-space-2);font-size:var(--flux-text-xs);color:var(--flux-grey-500);display:flex}.badge{padding:.125rem var(--flux-space-2);font-size:var(--flux-text-xs);border-radius:var(--flux-radius-full);align-items:center;font-weight:700;line-height:1.4;display:inline-flex}.badge--pending{color:var(--flux-black);background:var(--flux-yellow-300)}.badge--confirmed{color:var(--flux-black);background:var(--flux-green-200)}.badge--declined{color:var(--flux-black);background:var(--flux-orange-300)}.badge--neutral{color:var(--flux-primary-800);background:var(--flux-primary-100)}.tab-bar{gap:var(--flux-space-1);margin-bottom:var(--flux-space-4);padding-bottom:var(--flux-space-1);border-bottom:1px solid var(--flux-grey-100);flex-wrap:wrap;display:flex}.detail-content{min-height:12rem}.request-detail,.response-form,.distribution-view{gap:var(--flux-space-5);display:grid}.request-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--flux-space-4);padding-bottom:var(--flux-space-4);border-bottom:1px solid var(--flux-grey-100);display:flex}.request-detail__eyebrow{margin:0 0 var(--flux-space-1);font-size:var(--flux-text-xs);color:var(--flux-grey-300);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.request-detail__title{font-size:var(--flux-text-lg);color:var(--flux-black);margin:0;font-weight:700}.detail-list{gap:var(--flux-space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin:0;display:grid}.detail-list div{padding:var(--flux-space-3);background:var(--flux-grey-50);border-radius:var(--flux-radius-md)}.detail-list dt{margin-bottom:var(--flux-space-1);font-size:var(--flux-text-xs);color:var(--flux-grey-300);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.detail-list dd{font-size:var(--flux-text-sm);color:var(--flux-black);overflow-wrap:anywhere;margin:0}.response-form__intro{margin:var(--flux-space-2) 0 0;font-size:var(--flux-text-sm);color:var(--flux-grey-500)}.field__textarea{min-height:calc(var(--flux-space-24) + var(--flux-space-4));resize:vertical}.response-actions{gap:var(--flux-space-3);flex-wrap:wrap;display:flex}.distribution-frame{width:100%;min-height:calc(var(--flux-space-24) * 4);background:var(--flux-white);border:1px solid var(--flux-grey-100);border-radius:var(--flux-radius-md)}.json-block{padding:var(--flux-space-4);font-family:var(--flux-font-mono), "JetBrains Mono", monospace;font-size:var(--flux-text-xs);color:var(--flux-primary-100);background:var(--flux-primary-800);border-radius:var(--flux-radius-md);margin:0;font-weight:300;line-height:1.6;overflow-x:auto}.empty-state{justify-content:center;align-items:center;gap:var(--flux-space-2);padding:var(--flux-space-8) var(--flux-space-4);text-align:center;flex-direction:column;display:flex}.empty-state__title{font-size:var(--flux-text-base);color:var(--flux-black);margin:0;font-weight:700}.empty-state__text{max-width:24rem;font-size:var(--flux-text-sm);color:var(--flux-grey-500);margin:0}.skeleton-list{gap:var(--flux-space-2);flex-direction:column;display:flex}.skeleton{border-radius:var(--flux-radius-md);background:var(--flux-grey-100);animation:1.4s ease-out infinite skeleton-pulse}.skeleton--row{height:3.5rem}.skeleton--block{height:10rem}.skeleton--short{width:60%;height:1rem}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.loading-text{margin:0 0 var(--flux-space-3);font-size:var(--flux-text-sm);color:var(--flux-grey-500)}.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}
