:root{--font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--navy: #01426d;--navy-900: #012c49;--sand: #f4f1ed;--secondary-blue: #0c71c3;--accent-grey: #dbdbdb;--accent-green: #2da701;--link: #14821c;--white: #ffffff;--grey-text: #5b6470;--muted-text: #8a929c;--card: #ffffff;--border: #e6e3de;--err: #b91c1c;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 3px rgba(16, 38, 56, .06), 0 6px 18px rgba(16, 38, 56, .05);--shadow-sm: 0 1px 2px rgba(16, 38, 56, .06);--sidebar-w: 248px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background-color:var(--sand);background-image:radial-gradient(ellipse 115% 75% at 90% 2%,rgba(12,113,195,.14) 0%,transparent 62%),radial-gradient(ellipse 90% 65% at 6% 98%,rgba(1,66,109,.11) 0%,transparent 58%);background-size:auto,auto;background-position:top right,bottom left;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed;color:var(--grey-text);font-family:var(--font-body);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased}@media(max-width:900px){body{background-attachment:scroll,scroll}}@media(prefers-reduced-motion:reduce){body{background-attachment:scroll,scroll}}h1,h2,h3{font-family:var(--font-heading);font-weight:500;color:var(--navy);letter-spacing:-.01em}a{color:var(--link)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-900) 100%);color:#ffffffd1;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200}.sidebar-brand{display:flex;align-items:center;gap:.7rem;padding:1.25rem 1.25rem 1rem}.brand-mark{width:40px;height:40px;border-radius:11px;flex-shrink:0;object-fit:contain;display:block}.brand-name{color:#fff;font-family:var(--font-heading);font-weight:600;font-size:1.02rem}.brand-sub{font-size:.72rem;color:#ffffff8c;letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{flex:1;padding:.5rem .75rem;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;cursor:pointer;background:transparent;border:none;border-radius:var(--radius-sm);color:#ffffffc7;font-family:var(--font-body);font-size:.9rem;font-weight:500;padding:.62rem .8rem;transition:background .15s,color .15s}.nav-item .icon{width:19px;height:19px;opacity:.85;flex-shrink:0}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:var(--secondary-blue);color:#fff;box-shadow:0 4px 12px #0c71c359}.nav-item.active .icon{opacity:1}.nav-item--coming-soon,.nav-item:disabled{opacity:.65;cursor:not-allowed}.nav-item-label{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0}.nav-item-soon,.btn-soon-label{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;opacity:.85}.btn-coming-soon{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;cursor:not-allowed;opacity:.65}.btn-coming-soon-label{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.card--coming-soon-section{opacity:.65}.coming-soon-section-msg{margin:.75rem 0 0;font-size:.82rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted, #6b7280)}.auth-tabs .btn-coming-soon{align-items:center;gap:.15rem}.sidebar-footer{padding:.85rem .9rem 1rem;border-top:1px solid rgba(255,255,255,.1)}.user-chip{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;min-width:0}.user-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:#ffffff26;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.82rem;text-transform:uppercase}.user-meta{min-width:0}.user-name{color:#fff;font-size:.82rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-account{font-size:.72rem;color:#ffffff8c}.btn-logout{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);color:#fff;padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-weight:500;font-size:.84rem;transition:background .15s}.btn-logout:hover{background:#ffffff2e}.sidebar-version{text-align:center;font-size:.66rem;color:#ffffff59;margin-top:.6rem}.sidebar-overlay{display:none;position:fixed;inset:0;background:#011c2e80;z-index:150;backdrop-filter:blur(1px)}.main-area{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column;position:relative;isolation:isolate}.main-area:before{content:"";position:fixed;top:54%;left:calc(50vw + (var(--sidebar-w) / 2));transform:translate(-50%,-50%);width:min(380px,42vw);height:min(440px,52vh);background:url(/static/img/sandbanks-ferry-mark.png) center / contain no-repeat;opacity:.11;pointer-events:none;z-index:0}.main-area>*{position:relative;z-index:1}.app-shell.auth-mode .main-area:before{left:50%;top:58%;width:min(320px,72vw);height:min(380px,48vh);opacity:.1}@media(max-width:900px){.main-area:before{left:50%;width:min(300px,68vw);height:min(360px,45vh)}}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.85rem;background:#f4f1edeb;backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border);padding:.9rem 1.6rem}.topbar-title{margin:0;font-size:1.3rem;font-weight:600}.menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}.menu-toggle span{width:22px;height:2px;background:var(--navy);border-radius:2px}main{max-width:1040px;width:100%;margin:0 auto;padding:1.6rem 1.6rem 3rem}.app-shell.auth-mode .sidebar,.app-shell.auth-mode .topbar,.app-shell.auth-mode .sidebar-overlay{display:none}.app-shell.auth-mode .main-area{margin-left:0}.app-shell.auth-mode main{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:100vh;max-width:none;padding:0}.auth-page{--auth-col: 440px;flex:1;display:flex;flex-direction:column;width:100%}.auth-page.auth-page--register{--auth-col: 720px}.auth-page-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-900) 100%);color:var(--white);padding:1.8rem 1rem 1.9rem;width:100%;box-shadow:0 10px 28px #012c4929}.auth-header-brand{display:flex;align-items:center;justify-content:flex-start;gap:.95rem;max-width:var(--auth-col);margin:0 auto;padding:0 2.6rem}.auth-header-icon{height:56px;width:auto;flex-shrink:0;display:block}.auth-header-text{text-align:left;min-width:0}.auth-page-header h1{margin:0;font-size:1.4rem;font-weight:600;color:var(--white);letter-spacing:.01em;font-family:var(--font-heading)}.auth-header-tagline{margin:.3rem 0 0;font-size:.85rem;font-weight:400;color:var(--white);opacity:.85;line-height:1.35}.auth-wrap{max-width:var(--auth-col);width:100%;margin:0 auto;padding:1.65rem 1rem 2.5rem;flex:1}.auth-wrap .card{border-radius:16px;border-color:#01426d14;box-shadow:0 18px 48px #012c491f,0 2px 6px #012c490d;padding:1.6rem 1.6rem 1.5rem}.auth-wrap .card h2{font-size:1.3rem;font-weight:600;margin-bottom:1.15rem}label .required-mark{color:var(--err);font-weight:600;margin-left:.1rem}.register-password-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;align-items:start;margin-bottom:.75rem}.register-password-row .password-rules-title{font-size:.78rem;font-weight:500;color:var(--grey-text);margin:0 0 .35rem}.password-rules-grid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.78rem}.password-rules-grid li{color:var(--grey-text);line-height:1.35}.password-rules-grid li.ok{color:var(--link)}.register-section-title{margin:.5rem 0 .2rem;font-size:1rem;font-weight:600;color:var(--navy)}.profile-contacts-intro{margin:0 0 .75rem;font-size:.85rem}.profile-contact-hint{font-size:.8rem;margin:0 0 .65rem}.contacts-list{display:flex;flex-direction:column;gap:.75rem}.contact-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;background:var(--white)}.contact-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.contact-role-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.contact-card-meta{margin-top:.45rem;font-size:.82rem}.contact-card-actions{flex-shrink:0}.contact-editor{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.profile-contact-add-title{margin:0 0 .65rem;font-size:1rem}.profile-contact-password-row{margin-bottom:.5rem}@media(max-width:640px){.register-password-row{grid-template-columns:1fr}}.auth-sign-in-notice{margin:0 0 .85rem;font-size:.88rem;line-height:1.45;color:var(--muted, #6b7280)}.sftc-transfer-notice{margin:0 0 1rem;font-size:.88rem;line-height:1.5;color:#1f2937}.notice-em{color:#e11900;font-weight:600}.auth-tabs{margin-bottom:1.1rem;gap:.4rem}.auth-tabs .btn-inline{flex:1 1 0;min-width:0;padding:.55rem .5rem;font-size:.85rem}.auth-alt-actions{margin-top:.25rem}.auth-alt-actions button.secondary{width:100%}.auth-card-links{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--border)}button.auth-forgot-link{font-size:.85rem;text-decoration:underline;text-underline-offset:2px}button.auth-forgot-link:hover{color:var(--secondary-blue)}.auth-create-account-btn{width:100%;margin-top:.75rem}@media(max-width:380px){.auth-header-brand{flex-direction:column;gap:.5rem;justify-content:center;text-align:center}.auth-header-text{text-align:center}.auth-header-icon{height:52px}}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:1.35rem 1.45rem;margin-bottom:1.1rem;box-shadow:var(--shadow)}.card h2{margin-top:0;font-size:1.2rem}.card h3{margin-top:0;font-size:1.02rem;font-weight:600}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.card--success{background:linear-gradient(160deg,#2da701,#1f8a00);border-color:transparent;box-shadow:0 10px 30px #2da70140}.card--success h2,.card--success p,.card--success .msg,.card--success .msg.ok{color:var(--white)}.card--success-blue{background:linear-gradient(160deg,var(--secondary-blue),var(--navy));border-color:transparent;box-shadow:0 10px 30px #01426d40}.card--success-blue h2,.card--success-blue p,.card--success-blue .msg,.card--success-blue .msg.ok{color:var(--white)}.token-success-summary{display:inline-flex;flex-direction:column;gap:.4rem;margin:.4rem auto 1rem;padding:.8rem 1.1rem;text-align:left;background:#ffffff24;border-radius:10px;min-width:min(20rem,100%)}.token-success-row{display:flex;justify-content:space-between;gap:1.5rem}.token-success-label{color:#ffffffd9;font-size:.85rem}.token-success-value{color:var(--white);font-weight:600}.token-success-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.token-success-actions button{flex:1 1 12rem}.card--success-blue .token-success-actions button.primary{background:var(--white);color:var(--navy);box-shadow:0 4px 12px #0000002e}.card--success-blue .token-success-actions button.primary:hover:not(:disabled){background:#eaf3fb}.card--success-blue .token-success-actions button.secondary{background:transparent;color:var(--white);border-color:#ffffffb3}.card--success-blue .token-success-actions button.secondary:hover{background:#ffffff1f;border-color:var(--white);color:var(--white)}.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.profile-page{max-width:640px}.profile-account-label{margin:0 0 1rem;font-size:.88rem;font-weight:600;color:var(--navy);letter-spacing:.02em}.profile-tabs{margin-bottom:1rem;gap:.4rem}.profile-tabs .btn-inline{flex:1 1 0;min-width:0;padding:.55rem .5rem;font-size:.85rem}.profile-panel{margin-bottom:0}.profile-panel-body{min-height:12rem}.profile-tab-panel:first-child{border-top:none;padding-top:0;margin-top:0}.profile-additional-list,.profile-additional-row{margin:0}.profile-additional-info .helpdesk-prop-label{font-weight:600}.profile-additional-info .helpdesk-prop-value{color:var(--text)}.stat-card{display:flex;flex-direction:column;gap:.15rem;position:relative;overflow:hidden}.stat-icon{width:40px;height:40px;border-radius:11px;margin-bottom:.6rem;display:flex;align-items:center;justify-content:center;color:var(--secondary-blue);background:#0c71c31a}.stat-icon .icon{width:21px;height:21px}.stat-label{font-size:.78rem;color:var(--muted-text);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-family:var(--font-heading);font-weight:600;color:var(--navy);font-size:1.7rem}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .25s ease;box-shadow:0 0 40px #0000004d}.app-shell.nav-open .sidebar{transform:translate(0)}.app-shell.nav-open .sidebar-overlay{display:block}.main-area{margin-left:0}.menu-toggle{display:flex}main{padding:1.1rem 1rem 2.5rem}.topbar{padding:.8rem 1rem}}label{display:block;font-size:.78rem;font-weight:500;color:var(--grey-text);margin-bottom:.3rem}label{font-weight:500}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--navy);background:var(--white);transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--muted-text);font-weight:400}input[readonly]{background:#f6f4f1;color:var(--grey-text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--secondary-blue);box-shadow:0 0 0 3px #0c71c326}.row{margin-bottom:.75rem}.pw-wrap{position:relative;display:block}.pw-wrap>input{width:100%;padding-right:2.6rem}.pw-toggle{position:absolute;top:0;right:0;height:100%;width:2.4rem;padding:0;margin:0;border:none;background:none;display:inline-flex;align-items:center;justify-content:center;color:var(--muted-text);cursor:pointer}.pw-toggle:hover{color:var(--navy)}.pw-toggle .icon{width:18px;height:18px}.row-2{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}@media(max-width:520px){.row-2{grid-template-columns:1fr}}button.primary,button.secondary,button.danger{width:100%;padding:.72rem 1rem;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.92rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,box-shadow .15s,transform .05s}button.primary{background:var(--secondary-blue);color:var(--white);box-shadow:0 4px 12px #0c71c340}button.primary:hover:not(:disabled){background:#0a63ab}button.primary:active:not(:disabled){transform:translateY(1px)}button.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.secondary{background:var(--white);color:var(--navy);border:1px solid var(--border)}button.secondary:hover{border-color:var(--secondary-blue);color:var(--secondary-blue)}button.danger{background:#fff;color:var(--err);border:1px solid #f0c9c9}button.danger:hover{background:#fdf2f2}button.link{background:none;border:none;color:var(--link);cursor:pointer;font-family:var(--font-body);font-size:.85rem;padding:0}button.btn-inline{width:auto;padding:.45rem .8rem;font-size:.82rem}.btn-row{display:flex;gap:.6rem;flex-wrap:wrap}.helpdesk-recent{display:flex;flex-direction:column;gap:.45rem}.helpdesk-recent-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.helpdesk-recent-item:hover{border-color:var(--secondary-blue)}.helpdesk-recent-item .pill{align-self:flex-start;margin-top:.1rem}.helpdesk-recent-date{font-size:.78rem}.helpdesk-list-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border)}.helpdesk-more-panel{margin-top:.75rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:.45rem;background:#fafbfd}.helpdesk-inline-tools{display:flex;flex-wrap:wrap;gap:.55rem;align-items:flex-end}.helpdesk-inline-tools input[type=text]{flex:1 1 180px;min-width:0}.helpdesk-date-tools{align-items:center}.helpdesk-inline-label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--grey-text)}.helpdesk-inline-label input[type=date]{min-width:10.5rem}.helpdesk-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-top:.75rem}.helpdesk-thread{display:flex;flex-direction:column;gap:.65rem}.helpdesk-conversation{padding:.75rem .85rem}.helpdesk-conversation.flat{box-shadow:none;border:1px solid var(--border)}.helpdesk-conversation-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.helpdesk-conversation-author{font-weight:600;font-size:.85rem;color:var(--navy)}.helpdesk-escalated-flag{color:var(--err);font-size:.9rem;line-height:1;flex-shrink:0}.helpdesk-recent-id-line{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.helpdesk-attachment-block{margin-top:.55rem}.helpdesk-attachment-label{font-size:.75rem;font-weight:600;color:var(--grey-text);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.helpdesk-attachments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.helpdesk-attachments a{font-size:.85rem;word-break:break-word}.helpdesk-ticket-description-wrap{display:flex;flex-direction:column;gap:.5rem}.helpdesk-html p{margin:0 0 .5rem}.helpdesk-html p:last-child{margin-bottom:0}.helpdesk-ticket{display:flex;flex-direction:column;gap:1rem}.helpdesk-ticket-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.15rem}.helpdesk-ticket-header-left{display:flex;align-items:flex-start;gap:.75rem;min-width:0;flex:1}.helpdesk-ticket-header-left>div{flex:1;min-width:0}button.secondary.helpdesk-back{flex-shrink:0;width:2.25rem;min-width:2.25rem;height:2.25rem;padding:0;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.helpdesk-ticket-id-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.helpdesk-ticket-id-line strong{font-size:.95rem;color:var(--navy)}.helpdesk-ticket-title{margin:.35rem 0 0;font-size:1.35rem;font-weight:500;color:var(--navy);line-height:1.25;overflow-wrap:anywhere}.helpdesk-ticket-header-actions{display:flex;gap:.55rem;flex-shrink:0;flex-wrap:wrap;align-items:flex-start}@media(max-width:640px){.helpdesk-ticket-header{flex-direction:column;align-items:stretch}.helpdesk-ticket-header-actions{justify-content:flex-start}}.helpdesk-ticket-header-actions button{width:auto;padding:.5rem 1rem;font-size:.85rem}.helpdesk-ticket-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:1rem;align-items:start}@media(max-width:820px){.helpdesk-ticket-grid{grid-template-columns:1fr}}.helpdesk-ticket-main{padding:1rem 1.15rem}.helpdesk-ticket-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.helpdesk-ticket-main-head h3{margin:0;font-size:1rem;font-weight:600;color:var(--navy)}.helpdesk-ticket-badges{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.helpdesk-divider{border:none;border-top:1px solid var(--border);margin:.85rem 0}.helpdesk-ticket-description{font-size:.9rem;line-height:1.55;color:var(--text)}.helpdesk-conversations-section{margin-top:1.25rem}.helpdesk-conversations-section h4{margin:0 0 .65rem;font-size:.85rem;font-weight:600;color:var(--navy);text-transform:uppercase;letter-spacing:.03em}.helpdesk-ticket-sidebar{padding:1rem 1.15rem}.helpdesk-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}.helpdesk-sidebar-head h3{margin:0;font-size:.95rem;font-weight:600;color:var(--navy)}.helpdesk-sidebar-head button.link{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem}.helpdesk-prop-list{margin:0;display:flex;flex-direction:column;gap:.75rem}.helpdesk-prop-row{display:flex;flex-direction:column;gap:.15rem}.helpdesk-prop-label{margin:0;font-size:.82rem;color:var(--grey-text);font-weight:400}.helpdesk-prop-value{margin:0;font-size:.88rem;font-weight:600;color:var(--navy)}.pill.status-new{background:#e3f0fb;color:#0c71c3}.pill.status-open{background:#e7f6e7;color:var(--link)}.pill.status-closed{background:#eee;color:#777}.pill.status-escalated{background:#fde8e8;color:var(--err)}.pill.priority-critical{background:#fde8ec;color:#c0392b}.pill.priority-high{background:#fff0e0;color:#c06000}.pill.priority-medium{background:#fff8e0;color:#9a7b00}.pill.priority-low{background:#e7f6e7;color:var(--link)}.card textarea{width:100%;min-height:6rem;resize:vertical}.card strong,.card .break{overflow-wrap:anywhere;word-break:break-word}.msg{font-size:.85rem;margin-top:.6rem;font-weight:500;min-height:1em}.msg.ok{color:var(--link)}.msg.err{color:var(--err)}.msg.hint{color:var(--grey-text);font-weight:400}.banner{padding:.7rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem}.banner.err{background:#fde8e8;color:var(--err)}.banner.ok{background:#e7f6e7;color:var(--link)}.banner.warn{background:#fef3c7;color:#92400e}.table{width:100%;border-collapse:collapse;font-size:.85rem}.table th,.table td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--border)}.table th{color:var(--navy);font-weight:500}.table tr:last-child td{border-bottom:none}.muted{color:var(--grey-text);font-size:.82rem}.pill{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.72rem;background:var(--sand);color:var(--navy)}.pill.green{background:#e7f6e7;color:var(--link)}.pill.grey{background:#eee;color:#777}.amount{font-family:var(--font-heading);font-weight:300;color:var(--navy)}.big-amount{font-size:1.8rem}.list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.list-item .meta{font-size:.78rem;color:var(--grey-text)}.list-item .info{min-width:0;flex:1}.list-item .actions{flex-shrink:0}.vehicle-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:10px;margin-bottom:.6rem}.vehicle-card:last-child{margin-bottom:0}.vehicle-vrm{font-family:var(--font-heading);font-weight:300;color:var(--navy);font-size:1.1rem;letter-spacing:.04em}.vehicle-icon{width:38px;height:38px;border-radius:8px;background:var(--sand);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--navy)}.vehicle-icon .icon{width:22px;height:22px}.vehicle-left{display:flex;align-items:center;gap:.75rem;min-width:0}.vehicle-card .actions{flex-shrink:0;display:flex;align-items:center}.combobox{position:relative}.combo-display{width:100%;text-align:left;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--navy);font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer}.combo-display:focus{outline:none;border-color:var(--secondary-blue);box-shadow:0 0 0 2px #0c71c333}.combo-placeholder{color:#999}.combo-panel{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #01426d26;overflow:hidden}.combo-search{width:100%;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:.6rem .7rem}.combo-search:focus{box-shadow:none;border-color:var(--secondary-blue)}.combo-list{max-height:240px;overflow-y:auto}.combo-option{padding:.55rem .7rem;cursor:pointer;font-size:.92rem;color:var(--navy)}.combo-option:hover{background:var(--sand)}.combo-option.selected{background:#0c71c31a;font-weight:500}.combo-empty{padding:.6rem .7rem;color:var(--grey-text);font-size:.85rem}.hidden{display:none!important}.center{text-align:center}.spinner{width:28px;height:28px;border:3px solid var(--accent-grey);border-top-color:var(--secondary-blue);border-radius:50%;animation:spin .8s linear infinite;margin:1.5rem auto}@keyframes spin{to{transform:rotate(360deg)}}.app-version{position:fixed;bottom:.4rem;right:.6rem;font-size:.66rem;color:#01426d66;pointer-events:none}.footnote{font-size:.75rem;text-align:center;margin-top:1rem;color:var(--grey-text)}#payment-element{margin:1rem 0;min-height:8px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 .75rem}.section-head h2{margin:0}.donut-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.donut-svg{display:block;transform:rotate(0)}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center-label{font-family:var(--font-heading);font-weight:600;color:var(--navy);font-size:1.05rem;line-height:1.1}.donut-center-sub{font-size:.66rem;color:var(--grey-text);text-transform:uppercase;letter-spacing:.04em;margin-top:.1rem}.token-charts{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:.4rem}.token-chart{display:flex;flex-direction:column;align-items:center;gap:.45rem;width:120px}.token-chart-name{font-size:.76rem;color:var(--navy);text-align:center;font-weight:500;line-height:1.2}.token-chart-meta{font-size:.72rem;color:var(--grey-text);text-align:center}.grant-summary-name{font-weight:500;color:var(--navy)}.grant-summary-row td{vertical-align:top}.grant-summary-row--open td{border-bottom-color:transparent}.grant-details-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.8rem;font-weight:500}.grant-toggle-chevron{font-size:.72rem;line-height:1;color:var(--secondary-blue, #0c71c3)}.grant-detail-row>td{padding:.65rem .75rem 1rem;background:#f4f7fa;border-left:3px solid var(--navy)}.grant-detail-table{margin:0;font-size:.84rem;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.grant-detail-table th{font-size:.76rem;background:#fafbfc}.grant-detail-table td:first-child{color:var(--navy);font-weight:500}.tokens-bundles-view .tokens-grants-card+.tokens-purchases-card{margin-top:.85rem}.tokens-grants-head{margin-bottom:.75rem}.tokens-grants-head h3{margin:0}.tokens-grants-scroll{border:1px solid var(--border);border-radius:8px}.tokens-grants-footnote{font-size:.78rem;margin-top:.75rem;margin-bottom:0}.tokens-purchase-meta{font-size:.78rem;margin-top:.15rem}.token-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.9rem;font-size:.76rem;color:var(--grey-text)}.token-legend span{display:inline-flex;align-items:center;gap:.35rem}.dot{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}.vehicle-stats{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.3rem}.vehicle-stat{display:inline-flex;align-items:baseline;gap:.3rem;background:var(--sand);border-radius:999px;padding:.12rem .6rem;font-size:.74rem;color:var(--grey-text)}.vehicle-stat b{font-family:var(--font-heading);font-weight:600;color:var(--navy);font-size:.82rem}.vehicle-stat-loading{font-style:italic}.vehicle-stat-link{cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}.vehicle-stat-link:hover,.vehicle-stat-link:focus{background:#0c71c31f;border-color:#0c71c340;outline:none}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px}.usage-table{min-width:640px;margin:0}.usage-table th,.usage-table td{white-space:nowrap;vertical-align:top}.usage-table .usage-datetime{white-space:pre-line;line-height:1.25;min-width:6.5rem}.usage-table .usage-photo-col{width:5rem;text-align:center}.usage-photo-cell{display:flex;flex-direction:column;align-items:center;gap:.15rem}.usage-photo-link{font-size:.78rem;padding:0}.usage-image-status{font-size:.68rem;text-align:center;max-width:5rem}.usage-loading{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.usage-loading .spinner{margin:0;width:22px;height:22px;border-width:2px}.usage-host{margin-top:.75rem;min-height:2.5rem}.usage-hint{font-size:.78rem;margin-top:.6rem}.image-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem}.image-actions .link{font-size:.78rem}.stripe-mount{min-height:22rem;margin:.75rem 0}.stripe-mount--modal{min-height:12rem}body.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:500;background:#011c2e8c;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:modal-fade .2s ease}.modal-panel{background:var(--card);border-radius:calc(var(--radius) + 2px);border:1px solid var(--border);box-shadow:0 24px 60px #011c2e38;width:100%;max-height:min(92vh,860px);display:flex;flex-direction:column;animation:modal-slide .25s ease}.modal-md{max-width:480px}.modal-lg{max-width:560px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem .85rem;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--navy)}.modal-close{width:2rem;height:2rem;border:none;border-radius:8px;background:var(--sand);color:var(--grey-text);font-size:1.35rem;line-height:1;cursor:pointer;flex-shrink:0}.modal-close:hover{background:var(--accent-grey);color:var(--navy)}.modal-body{padding:1.15rem 1.35rem 1.35rem;overflow-y:auto;flex:1;min-height:0}.modal-actions{margin-top:.85rem}.modal-actions .primary{width:100%}.modal-footer{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.modal-footer .primary{margin-left:auto}.modal-footer-nav{border-top:none;padding-top:0;margin-top:.35rem}.modal-footer-nav .secondary{flex:1}.pay-stripe-hint{font-size:.84rem;line-height:1.45;margin:.65rem 0 .5rem}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.busy-dialog-backdrop{cursor:wait}.busy-dialog-panel{text-align:center;padding:.25rem 0 .5rem}.busy-dialog-title{margin:0;padding:1.25rem 1.35rem .5rem;font-size:1.15rem;font-weight:600;color:var(--navy);border-bottom:none}.busy-dialog-body{padding:.5rem 1.35rem 1.35rem}.busy-dialog-spinner{margin:.5rem auto 1rem;width:2.25rem;height:2.25rem}.busy-dialog-message{margin:0 0 .75rem;font-size:1rem;line-height:1.45;color:var(--navy)}.busy-dialog-hint{margin:0;font-size:.88rem;line-height:1.45}@keyframes modal-slide{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.pay-modal-balance{margin:0 0 .85rem;font-size:.92rem}.pay-modal-balance strong{font-family:var(--font-heading);color:var(--navy);font-size:1.05rem}.pay-wizard-label{font-size:.78rem;font-weight:600;color:var(--grey-text);text-transform:uppercase;letter-spacing:.04em;margin:.5rem 0 .55rem}.pay-modal-hint{font-size:.85rem;margin-top:.65rem}.pay-method-tiles{display:flex;flex-direction:column;gap:.55rem}.pay-method-tile{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;padding:.85rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;font-family:var(--font-body)}.pay-method-tile:hover:not(.disabled){border-color:#0c71c373;box-shadow:var(--shadow-sm)}.pay-method-tile.selected{border-color:var(--secondary-blue);background:#0c71c30a;box-shadow:0 0 0 1px #0c71c326}.pay-method-tile.disabled{opacity:.55;cursor:not-allowed}.pay-method-tile-icon{width:2.6rem;height:2.6rem;flex-shrink:0;border-radius:9px;background:#0c71c31a;color:var(--secondary-blue);display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;letter-spacing:.02em}.pay-method-tile-icon.sm{width:2rem;height:2rem;font-size:.55rem}.pay-method-tile-body{flex:1;min-width:0}.pay-method-tile-title{font-weight:600;color:var(--navy);font-size:.92rem}.pay-method-tile-sub{font-size:.78rem;color:var(--muted-text);margin-top:.12rem;line-height:1.35}.pay-method-tile-check{width:1.4rem;height:1.4rem;flex-shrink:0;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;font-weight:700}.pay-method-tile.selected .pay-method-tile-check{background:var(--secondary-blue);border-color:var(--secondary-blue)}.pay-summary-box{background:var(--sand);border-radius:var(--radius-sm);padding:.85rem 1rem;margin-bottom:.85rem}.pay-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.pay-summary-row strong{font-family:var(--font-heading);color:var(--navy);font-size:1.2rem}.pay-card-preview{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem;background:var(--sand);border-radius:var(--radius-sm);font-weight:500;color:var(--navy);margin-bottom:.5rem}.pay-success{text-align:center;padding:1.5rem .5rem}.pay-success-icon{width:3.2rem;height:3.2rem;margin:0 auto .85rem;border-radius:50%;background:var(--accent-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.pay-success p{margin:0;color:var(--navy);font-size:.95rem}.pay-summary-card .pay-balance-display{display:flex;flex-direction:column;gap:.15rem;margin:.35rem 0 .75rem}.pay-balance-label{font-size:.78rem;color:var(--muted-text);text-transform:uppercase;letter-spacing:.04em}.pay-balance-amount{font-family:var(--font-heading);font-weight:600;color:var(--navy);font-size:1.85rem}.pay-amount-input{font-size:1.05rem!important;font-weight:600}.pay-amount-readonly{background:var(--sand)!important;color:var(--muted-text)!important;cursor:not-allowed!important;pointer-events:none}.dp-wrap{max-width:440px}.dp-step.hidden{display:none}.dp-disclaimer{font-size:.82rem;margin:.75rem 0 0;line-height:1.45}.dp-notice{margin:.75rem 0 0;padding:.65rem .75rem;border-radius:8px;background:#fff8eb;border:1px solid #f0d090;font-size:.85rem;color:var(--navy)}.dp-notice.hidden{display:none}.dp-balance-row{font-size:1.05rem;margin:.5rem 0}.dp-advance{margin-top:1rem}.dp-advance.hidden{display:none}.dp-advance-prompt{margin:0 0 .75rem;font-size:.9rem}.dp-advance-buttons{display:flex;flex-direction:column;gap:.5rem}.dp-advance-btn{width:100%;text-align:left}.dp-pay-line{margin:0 0 1rem;font-size:.95rem}.dp-sign-in-link{margin-top:1rem}.input-mismatch{border-color:var(--err, #b91c1c)!important;box-shadow:0 0 0 1px var(--err, #b91c1c)}.card-success{background:var(--accent-green, #2da701);border-color:var(--accent-green, #2da701);color:#fff}.card-success h2,.card-success p{color:#fff}.card-success .primary{background:#fff;color:var(--navy)}.card-success .primary:hover:not(:disabled){background:var(--sand)}.proxy-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin:0 1.25rem .75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:#fff8e6;border:1px solid #f0d48a;color:var(--navy);font-size:.92rem}.proxy-readonly-tag{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:999px;background:#e8f0f8;border:1px solid #b8cce0;color:var(--navy)}.csr-account-preview{margin-top:.75rem;font-size:.92rem}.field-help{line-height:1.45;max-width:42rem}.sftc-field-help{display:flex;flex-direction:column;gap:.65rem;margin-top:.45rem;max-width:42rem;font-size:.82rem;line-height:1.5}.sftc-field-warning{display:flex;align-items:flex-start;gap:.45rem;color:var(--err);font-weight:500}.sftc-warning-icon{flex:0 0 auto;width:1.05rem;height:1.05rem;border-radius:999px;background:var(--err);color:#fff;font-size:.72rem;font-weight:700;line-height:1.05rem;text-align:center}.sftc-field-details-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;padding:0;border:0;background:none;color:var(--secondary-blue);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.sftc-field-details-toggle:hover{text-decoration:underline}.sftc-toggle-chevron{font-size:.72rem;line-height:1}.sftc-field-details-panel{padding:.75rem .9rem;border:1px solid #b8d4ef;border-radius:var(--radius-sm);background:#f3f8fd;color:var(--navy)}.sftc-field-details-panel ul{margin:0;padding-left:1.15rem}.sftc-field-details-panel li+li{margin-top:.35rem}.sftc-field-info{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem .9rem;border:1px solid #b8d4ef;border-radius:var(--radius-sm);background:#f3f8fd;color:var(--navy)}.sftc-info-icon{flex:0 0 auto;width:1.15rem;height:1.15rem;border-radius:999px;background:var(--secondary-blue);color:#fff;font-size:.72rem;font-weight:700;font-style:italic;line-height:1.15rem;text-align:center}.sftc-field-info-title{display:block;margin-bottom:.2rem;color:var(--secondary-blue);font-size:.88rem}.sftc-field-info p strong{color:var(--secondary-blue)}.sftc-field-info p{margin:0}.sftc-field-info-optional{margin:0 0 .25rem;color:var(--grey-text)}.cookie-notice{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;background:var(--navy);color:#fff;box-shadow:0 -4px 18px #0000002e}.cookie-notice-body{flex:1 1 16rem;min-width:0}.cookie-notice-body strong{display:block;margin-bottom:.25rem;font-family:var(--font-heading)}.cookie-notice-body p{margin:0;font-size:.82rem;line-height:1.45;opacity:.95}.cookie-notice-dismiss{flex:0 0 auto;white-space:nowrap}
