.fm-wrap,.fm-panel,.fm-front-form,.fm-tracking,.fm-portal{box-sizing:border-box}.fm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:20px 0}.fm-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:18px;display:flex;flex-direction:column;gap:8px}.fm-card span{font-size:28px;font-weight:700}.fm-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.fm-panel,.fm-front-form,.fm-tracking{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;margin:18px 0;overflow:auto}.fm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.fm-form label,.fm-front-form label{display:flex;flex-direction:column;gap:5px;font-weight:600}.fm-form input,.fm-form select,.fm-front-form input,.fm-front-form select,.fm-front-form textarea,.fm-track-form input{padding:9px;border:1px solid #bbb;border-radius:4px}.fm-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.fm-item{display:grid;grid-template-columns:2fr .7fr .8fr .8fr .8fr .7fr .8fr .7fr .8fr auto;gap:6px;margin:8px 0}.fm-front-form{max-width:1100px}.fm-track-form{display:flex;gap:8px;margin:18px 0}.fm-timeline{border-left:3px solid #2271b1;padding-left:25px}.fm-timeline li{margin:18px 0}.fm-success{padding:12px;background:#edfaef;border-left:4px solid #46b450;margin:15px 0}.fm-error{padding:12px;background:#fff0f0;border-left:4px solid #d63638}.fm-portal table,.fm-tracking table,.fm-panel table{width:100%;border-collapse:collapse}.fm-portal th,.fm-portal td,.fm-tracking th,.fm-tracking td,.fm-panel th,.fm-panel td{padding:9px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}@media(max-width:800px){.fm-grid{grid-template-columns:1fr}.fm-item{grid-template-columns:1fr 1fr}.fm-track-form{flex-direction:column}}

/* Customer quote wizard */
.fm-quote-app{max-width:1120px;margin:30px auto;color:#1f2937}.fm-quote-hero{background:linear-gradient(135deg,#0b3558,#1769aa);color:#fff;border-radius:18px;padding:34px;display:flex;justify-content:space-between;gap:25px;align-items:center;box-shadow:0 16px 40px rgba(13,55,92,.18)}.fm-quote-hero h2{font-size:32px;margin:7px 0}.fm-quote-hero p{margin:0;max-width:680px;opacity:.9}.fm-eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;opacity:.8}.fm-hero-badge{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);padding:13px 17px;border-radius:12px;text-align:center;min-width:105px}.fm-hero-badge strong{font-size:20px}.fm-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:25px 0}.fm-step{display:flex;align-items:center;gap:8px;color:#9ca3af;font-size:13px;font-weight:700}.fm-step b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px solid #d1d5db;background:#fff}.fm-step.is-active{color:#1769aa}.fm-step.is-active b,.fm-step.is-done b{background:#1769aa;color:#fff;border-color:#1769aa}.fm-steps i{height:2px;width:60px;background:#e5e7eb}.fm-quote-step{display:none;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:30px;box-shadow:0 8px 28px rgba(15,23,42,.05)}.fm-quote-step.is-active{display:block}.fm-section-title{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.fm-section-title>span{font-size:12px;font-weight:800;color:#1769aa;background:#eaf4fc;border-radius:8px;padding:8px 9px}.fm-section-title h3{margin:0 0 5px;font-size:23px}.fm-section-title p{margin:0;color:#6b7280}.fm-service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.fm-service-card{position:relative;border:2px solid #e5e7eb;border-radius:13px;padding:17px;cursor:pointer;transition:.18s;background:#fff}.fm-service-card:hover{border-color:#8bbce2;transform:translateY(-1px)}.fm-service-card:has(input:checked){border-color:#1769aa;background:#f4f9fd;box-shadow:0 0 0 3px rgba(23,105,170,.08)}.fm-service-card input{position:absolute;opacity:0}.fm-service-icon{font-size:25px;display:block;margin-bottom:8px}.fm-service-card strong,.fm-service-card small{display:block}.fm-service-card small{color:#6b7280;margin-top:4px}.fm-field-grid{display:grid;grid-template-columns:1fr;gap:15px;margin:16px 0}.fm-field-grid.two{grid-template-columns:repeat(2,1fr)}.fm-field-grid.three{grid-template-columns:repeat(3,1fr)}.fm-field-grid.five{grid-template-columns:repeat(5,1fr)}.fm-field-grid label>span,.fm-dim-label{font-weight:700;font-size:13px;margin-bottom:6px;display:block}.fm-field-grid em{color:#d63638;font-style:normal}.fm-quote-wizard input,.fm-quote-wizard select,.fm-quote-wizard textarea{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:9px;padding:11px 12px;background:#fff;font-size:15px}.fm-quote-wizard input:focus,.fm-quote-wizard select:focus,.fm-quote-wizard textarea:focus{outline:none;border-color:#1769aa;box-shadow:0 0 0 3px rgba(23,105,170,.1)}.fm-ocean-fields{padding:17px;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb;margin:15px 0}.fm-ocean-fields[hidden]{display:none}.fm-info-note{background:#f1f7fb;border-left:3px solid #1769aa;padding:11px 13px;color:#52606d;font-size:13px;border-radius:5px;margin:15px 0}.fm-items-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.fm-items-head strong{display:block}.fm-items-head span{color:#6b7280;font-size:12px}.fm-items-modern{display:grid;gap:12px}.fm-item-card{border:1px solid #dfe5ea;border-radius:12px;padding:16px;background:#fbfcfd}.fm-item-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.fm-item-card-head .fm-remove{border:0;background:none;color:#b42318;cursor:pointer;font-size:12px}.fm-dim-label{margin-top:5px}.fm-dim-label small{font-weight:400;color:#6b7280;margin-left:5px}.fm-inline{display:grid;grid-template-columns:1fr 80px}.fm-inline select{border-left:0;border-radius:0 9px 9px 0}.fm-inline input{border-radius:9px 0 0 9px}.fm-step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid #edf0f2}.fm-help{font-size:12px;color:#6b7280}.fm-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.fm-review-grid>div{background:#f8fafc;border-radius:10px;padding:13px}.fm-review-grid small,.fm-review-grid strong{display:block}.fm-review-grid small{color:#6b7280;margin-bottom:4px}.fm-review-cargo{display:grid;gap:8px}.fm-review-cargo>div{padding:12px;border:1px solid #e5e7eb;border-radius:9px}.fm-review-cargo span{display:block;color:#6b7280;font-size:13px;margin-top:3px}.fm-final-note{display:flex;flex-direction:column;gap:5px;background:#f7fbff;border:1px solid #d9eaf7;border-radius:10px;padding:15px}.fm-final-note span{color:#5b6773;font-size:13px}.fm-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px;font-weight:400!important}.fm-check input{width:auto!important;margin-top:3px}.fm-success.fm-quote-success{display:flex;gap:13px;align-items:center;border-left:0;border-radius:10px;background:#ecfdf3;padding:17px}.fm-success-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff;font-weight:800}.fm-success.fm-quote-success span{display:block;color:#4b6353;margin-top:3px;font-size:13px}@media(max-width:900px){.fm-service-cards{grid-template-columns:repeat(2,1fr)}.fm-field-grid.five{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.fm-quote-hero{padding:24px;flex-direction:column;align-items:flex-start}.fm-quote-hero h2{font-size:26px}.fm-steps{justify-content:flex-start;overflow:auto}.fm-step span{display:none}.fm-steps i{width:28px}.fm-quote-step{padding:20px}.fm-service-cards,.fm-field-grid.two,.fm-field-grid.three,.fm-field-grid.five,.fm-review-grid{grid-template-columns:1fr}.fm-step-actions{flex-direction:column-reverse;align-items:stretch}.fm-step-actions .button{width:100%;text-align:center}.fm-help{order:3;text-align:center}.fm-items-head{align-items:flex-start;gap:10px}.fm-items-head .button{white-space:nowrap}.fm-inline{grid-template-columns:1fr 74px}}

/* Unified customer-facing portal UI */
.fm-customer-shell{width:100%;max-width:1120px;margin:34px auto;padding:0 18px;box-sizing:border-box;color:#182433}
.fm-customer-hero{display:flex;align-items:center;gap:18px;padding:30px 32px;margin-bottom:20px;border-radius:20px;background:linear-gradient(135deg,#0b3558 0%,#1769aa 58%,#2785c4 100%);color:#fff;box-shadow:0 18px 45px rgba(11,53,88,.16)}
.fm-customer-hero h2{margin:5px 0 7px;font-size:30px;line-height:1.15;color:#fff}.fm-customer-hero p{margin:0;max-width:700px;color:rgba(255,255,255,.88)}
.fm-customer-hero-icon{width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);font-size:25px}
.fm-customer-card{background:#fff;border:1px solid #e3e9ef;border-radius:18px;padding:26px;box-shadow:0 10px 32px rgba(15,23,42,.055);box-sizing:border-box;margin:0 0 20px}
.fm-customer-card h2,.fm-customer-card h3,.fm-customer-card h4{color:#182433}.fm-subheading{font-size:18px;margin:24px 0 12px}
.fm-tracking-shell .fm-track-form{display:flex;align-items:flex-end;gap:14px;margin:0}.fm-track-input{flex:1}.fm-track-input label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.fm-track-input input{width:100%;min-height:48px;box-sizing:border-box;border:1px solid #cfd8e3;border-radius:10px;padding:12px 14px;font-size:15px}.fm-track-form .button{min-height:48px;padding:0 20px;border-radius:10px}
.fm-tracking-result-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid #edf1f5}.fm-status-label{font-size:11px;font-weight:800;letter-spacing:1.2px;color:#708090}.fm-tracking-result-head h3{margin:4px 0 0;font-size:24px}.fm-tracking-number{background:#eef6fc;color:#1769aa;font-weight:800;border-radius:9px;padding:9px 12px;font-size:13px}
.fm-route-card{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:18px;align-items:center;margin:20px 0;padding:18px;background:#f7fafc;border:1px solid #e5ebf0;border-radius:13px}.fm-route-card small{display:block;color:#7a8795;font-size:10px;font-weight:800;letter-spacing:.9px;margin-bottom:5px}.fm-route-card strong{display:block;font-size:15px}.fm-route-card>span{color:#1769aa;font-size:22px;font-weight:700}
.fm-tracking-shell .fm-timeline{list-style:none;border-left:0;padding:0;margin:0}.fm-tracking-shell .fm-timeline li{position:relative;display:flex;gap:14px;margin:0;padding:0 0 22px}.fm-timeline-dot{width:12px;height:12px;flex:0 0 12px;margin-top:5px;border-radius:50%;background:#1769aa;box-shadow:0 0 0 5px #eaf4fc}.fm-timeline-meta{display:block;color:#718096;font-size:12px;margin-top:3px}.fm-tracking-shell .fm-timeline p{margin:7px 0 0;color:#566575;font-size:13px}.fm-pod-box{display:flex;align-items:center;gap:12px;margin-top:8px;padding:14px;background:#ecfdf3;border:1px solid #ccefd9;border-radius:11px}.fm-pod-box>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#16a34a;color:#fff}.fm-pod-box div{flex:1}.fm-pod-box small{display:block;color:#557061;margin-top:2px}.fm-pod-box .button{border-radius:8px}
.fm-empty-state{text-align:center;padding:42px 25px}.fm-empty-state>div{width:45px;height:45px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#eef5fa;color:#1769aa;font-weight:800}.fm-empty-state h3{margin:0 0 6px}.fm-empty-state p{margin:0;color:#697787}
.fm-portal-shell .fm-panel{margin:0}.fm-stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.fm-stat-cards>div{padding:16px;border:1px solid #e4eaf0;border-radius:12px;background:#f9fbfc}.fm-stat-cards span{display:block;color:#718096;font-size:12px;font-weight:700}.fm-stat-cards strong{display:block;font-size:26px;margin-top:4px;color:#1769aa}.fm-portal table{background:#fff;border:1px solid #e5e9ee;border-radius:10px;overflow:hidden}.fm-portal th{background:#f7f9fb;color:#536273;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.fm-portal td,.fm-portal th{padding:12px 13px}.fm-portal h4{font-size:15px;margin:22px 0 9px}.fm-portal a{color:#1769aa;font-weight:700}
.fm-approval-card>p:first-of-type{background:#f7fafc;border:1px solid #e7edf2;border-radius:10px;padding:13px}.fm-approval-card table{margin:18px 0;border:1px solid #e5e9ee;border-radius:10px;overflow:hidden}.fm-approval-card th{background:#f7f9fb;color:#536273;font-size:12px}.fm-approval-card td,.fm-approval-card th{padding:12px}.fm-approval-card>p:last-of-type{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin:0;border-top:1px solid #edf1f5;font-size:17px}.fm-approval-card>p:last-of-type strong{font-size:22px;color:#1769aa}.fm-approval-card form{margin-top:16px}.fm-approval-card form .button{width:100%;min-height:48px;border-radius:10px;font-size:15px}.fm-approval-card .fm-success{border-radius:10px;border-left:0;text-align:center}
.fm-customer-shell .button-primary{background:#1769aa;border-color:#1769aa}.fm-customer-shell .button-primary:hover{background:#0f578f;border-color:#0f578f}
.fm-quote-shell .fm-quote-app{margin:0 auto;max-width:none}.fm-quote-shell .fm-quote-step{box-shadow:0 10px 32px rgba(15,23,42,.055)}
@media(max-width:700px){.fm-customer-shell{margin:20px auto;padding:0 12px}.fm-customer-hero{padding:23px;align-items:flex-start}.fm-customer-hero h2{font-size:25px}.fm-route-card{grid-template-columns:1fr;gap:10px}.fm-route-card>span{display:none}.fm-tracking-shell .fm-track-form{flex-direction:column;align-items:stretch}.fm-stat-cards{grid-template-columns:1fr}.fm-customer-card{padding:19px;overflow-x:auto}.fm-approval-card>p:last-of-type{align-items:flex-start;gap:10px;flex-direction:column}.fm-pod-box{flex-wrap:wrap}.fm-pod-box .button{width:100%;text-align:center}.fm-portal table{min-width:620px}}
.fm-admin{max-width:1500px}.fm-admin .fm-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:15px 0}.fm-admin .fm-toolbar form{display:flex;gap:8px;align-items:center}.fm-admin .fm-toolbar input{min-width:360px}.fm-admin .fm-panel{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:20px;margin:18px 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}.fm-admin .fm-grid{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:18px;align-items:start}.fm-admin .fm-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fm-admin .fm-form label{display:flex;flex-direction:column;gap:5px;margin:9px 0;font-weight:600}.fm-admin .fm-form input,.fm-admin .fm-form select,.fm-admin .fm-form textarea{width:100%;box-sizing:border-box}.fm-admin .fm-form textarea{min-height:80px}.fm-admin .fm-table-wrap{overflow:auto}.fm-admin table.widefat td,.fm-admin table.widefat th{vertical-align:top}.fm-admin .fm-cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:15px;margin:20px 0}.fm-admin .fm-card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}.fm-admin .fm-card span{font-size:28px;font-weight:700}.fm-admin code{font-size:12px}@media(max-width:900px){.fm-admin .fm-grid{grid-template-columns:1fr}.fm-admin .fm-cards{grid-template-columns:repeat(2,1fr)}.fm-admin .fm-two{grid-template-columns:1fr}.fm-admin .fm-toolbar{flex-wrap:wrap}.fm-admin .fm-toolbar input{min-width:220px}}
/* v3.2 frontend Admin/Staff Management Portal */
.fm-staff-portal{max-width:1200px;margin:40px auto;padding:0 18px;font-family:inherit;color:#172033}.fm-staff-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;background:linear-gradient(135deg,#14213d,#274c77);color:#fff;border-radius:22px;padding:30px;margin-bottom:18px;box-shadow:0 16px 45px rgba(20,33,61,.16)}.fm-staff-head h2{margin:5px 0 8px;font-size:30px}.fm-staff-head p{margin:0;opacity:.86}.fm-staff-user{white-space:nowrap;font-size:14px}.fm-staff-user a{color:#fff;margin-left:12px;text-decoration:underline}.fm-staff-nav{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:8px;margin-bottom:18px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.fm-staff-nav a{padding:11px 17px;border-radius:11px;text-decoration:none;color:#4a5568;font-weight:700}.fm-staff-nav a.active,.fm-staff-nav a:hover{background:#172033;color:#fff}.fm-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.fm-stat{background:#fff;border:1px solid #e6eaf0;border-radius:18px;padding:20px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.fm-stat span{display:block;color:#697386;font-size:13px;margin-bottom:8px}.fm-stat strong{font-size:25px}.fm-portal-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:18px}.fm-portal-card{background:#fff;border:1px solid #e6eaf0;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 8px 25px rgba(0,0,0,.04);overflow:hidden}.fm-portal-card h3,.fm-portal-card h4{margin-top:0}.fm-action-grid{display:flex;gap:10px;flex-wrap:wrap}.fm-staff-form label{display:block;font-weight:700;margin-bottom:14px}.fm-staff-form input,.fm-staff-form select,.fm-staff-form textarea,.fm-inline-search input{width:100%;box-sizing:border-box;border:1px solid #d8dee8;border-radius:10px;padding:11px;margin-top:6px;background:#fff}.fm-field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.fm-inline-search{display:flex;gap:10px;margin-bottom:15px}.fm-inline-search input{margin:0}.fm-table-scroll{overflow-x:auto}.fm-responsive-table{width:100%;border-collapse:collapse}.fm-responsive-table th,.fm-responsive-table td{padding:11px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.fm-responsive-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#697386;background:#f8fafc}.fm-responsive-table input{min-width:80px}.fm-portal-login{max-width:520px;margin:50px auto;background:#fff;border:1px solid #e6eaf0;border-radius:20px;padding:28px;box-shadow:0 12px 35px rgba(0,0,0,.07)}.fm-portal-login input[type=text],.fm-portal-login input[type=password]{width:100%;box-sizing:border-box}.fm-error{background:#fff3f3;border:1px solid #f2caca;padding:18px;border-radius:14px}.fm-success{margin-bottom:16px}@media(max-width:900px){.fm-stats-grid{grid-template-columns:repeat(2,1fr)}.fm-portal-grid{grid-template-columns:1fr}.fm-staff-head{flex-direction:column}.fm-field-grid.four{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fm-stats-grid{grid-template-columns:1fr}.fm-staff-portal{padding:0 10px;margin:20px auto}.fm-staff-head{padding:22px}.fm-staff-head h2{font-size:24px}.fm-inline-search{flex-direction:column}.fm-field-grid.four{grid-template-columns:1fr}.fm-staff-nav{overflow-x:auto;flex-wrap:nowrap}.fm-staff-nav a{white-space:nowrap}}
/* v3.4 polished quotation and invoice editors */
.fm-admin .fm-editor-shell{background:#f8fafc;border:1px solid #e4e9f0;border-radius:18px;padding:24px;box-shadow:0 12px 35px rgba(15,23,42,.06)}
.fm-admin .fm-editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px;margin:-24px -24px 22px;background:linear-gradient(135deg,#0b3558,#1769aa);color:#fff;border-radius:18px 18px 0 0}
.fm-admin .fm-editor-header h2{margin:3px 0 6px;color:#fff;font-size:25px}.fm-admin .fm-editor-header p{margin:0;color:rgba(255,255,255,.82)}
.fm-admin .fm-editor-badge{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.fm-admin .fm-editor-section{background:#fff;border:1px solid #e4e9f0;border-radius:14px;padding:18px;margin:15px 0}.fm-admin .fm-editor-section h3{margin:0 0 14px;font-size:16px}.fm-admin .fm-editor-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.fm-admin .fm-editor-fields label{font-size:12px;color:#52606d}.fm-admin .fm-editor-fields input,.fm-admin .fm-editor-fields select,.fm-admin .fm-editor-section textarea{border:1px solid #d6dde7;border-radius:9px;padding:10px 11px;background:#fff;box-shadow:none}.fm-admin .fm-editor-section textarea{min-height:92px}.fm-admin .fm-editor-items{overflow:auto;border:1px solid #e2e8f0;border-radius:12px}.fm-admin .fm-editor-items table{margin:0!important;border:0!important}.fm-admin .fm-editor-items th{background:#f7f9fc;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.fm-admin .fm-editor-items input{min-width:95px;border:1px solid #d6dde7;border-radius:8px;padding:9px}.fm-admin .fm-editor-summary{margin-left:auto;max-width:380px;padding:16px;border-radius:12px;background:#f7fafc;border:1px solid #e2e8f0}.fm-admin .fm-editor-summary div{display:flex;justify-content:space-between;padding:5px 0}.fm-admin .fm-editor-summary .grand{font-size:20px;font-weight:800;border-top:1px solid #dce3eb;margin-top:7px;padding-top:11px;color:#1769aa}.fm-admin .fm-editor-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding-top:8px}.fm-admin .fm-register-search{background:#fff;border:1px solid #e4e9f0;border-radius:12px;padding:12px;margin-bottom:14px}.fm-admin .fm-register-search form{display:flex;gap:9px;align-items:center}.fm-admin .fm-register-search input{flex:1;min-height:38px;border:1px solid #ccd5e1;border-radius:9px;padding:8px 11px}
@media(max-width:900px){.fm-admin .fm-editor-fields{grid-template-columns:1fr 1fr}}@media(max-width:600px){.fm-admin .fm-editor-header{display:block}.fm-admin .fm-editor-badge{margin-top:12px}.fm-admin .fm-editor-fields{grid-template-columns:1fr}.fm-admin .fm-editor-summary{max-width:none}.fm-admin .fm-register-search form{flex-direction:column;align-items:stretch}}

.fm-ocean-dashboard,.fm-rate-dashboard{max-width:1280px}.fm-ocean-hero,.fm-rate-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:20px;background:linear-gradient(135deg,#0f2747,#1d4ed8);color:#fff;margin:0 0 20px}.fm-ocean-hero h2,.fm-rate-hero h2{color:#fff;margin:6px 0}.fm-ocean-hero p,.fm-rate-hero p{max-width:720px;color:rgba(255,255,255,.82)}.fm-ocean-kpis{display:flex;gap:12px}.fm-ocean-kpis div{min-width:120px;padding:16px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.1);text-align:center}.fm-ocean-kpis b{display:block;font-size:26px}.fm-ocean-kpis span,.fm-rate-live{font-size:12px}.fm-rate-live{background:rgba(255,255,255,.12);padding:10px 14px;border-radius:999px}.fm-ocean-grid,.fm-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fm-ocean-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.fm-con-card{border:1px solid #e5e7eb;border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(15,39,71,.06)}.fm-con-head{display:flex;justify-content:space-between;gap:12px}.fm-con-number{font-size:12px;color:#64748b}.fm-con-head h3{margin:5px 0 0}.fm-con-head h3 span{color:#94a3b8}.fm-status-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef2ff;font-size:11px;font-weight:700;text-transform:uppercase}.fm-con-meta{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0;color:#64748b;font-size:12px}.fm-util{display:grid;gap:12px;margin:14px 0}.fm-util-label{display:flex;justify-content:space-between;font-size:12px}.fm-util-bar{height:8px;background:#edf2f7;border-radius:99px;overflow:hidden;margin-top:6px}.fm-util-bar i{display:block;height:100%;background:#2563eb;border-radius:99px}.fm-add-lcl{display:grid;grid-template-columns:1.5fr .7fr .7fr auto;gap:7px;align-items:end}.fm-add-lcl input,.fm-add-lcl select{min-width:0}.fm-con-foot{display:flex;justify-content:space-between;color:#64748b;font-size:11px;margin-top:12px}.fm-rate-table td{vertical-align:middle}.fm-rate-result{margin-top:18px;padding:18px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe}.fm-rate-result strong,.fm-rate-result span{display:block}.fm-rate-result strong{font-size:22px}.fm-rate-result span{margin-top:5px;color:#475569}.fm-form-actions{display:flex;gap:8px;align-items:center}.fm-wide-btn{width:100%;margin-top:8px}.fm-check{display:flex!important;align-items:center;gap:8px}.fm-check input{width:auto!important}.fm-live-rate-note{margin-top:12px}
@media(max-width:900px){.fm-ocean-grid,.fm-rate-grid{grid-template-columns:1fr}.fm-ocean-hero,.fm-rate-hero{display:block}.fm-ocean-kpis{margin-top:18px}.fm-add-lcl{grid-template-columns:1fr 1fr}.fm-add-lcl button{grid-column:1/-1}}
@media(max-width:600px){.fm-ocean-board{grid-template-columns:1fr}.fm-add-lcl{grid-template-columns:1fr}.fm-con-head{display:block}.fm-con-head .fm-status-pill{margin-top:8px}}
/* v3.6.1 register action polish */
.fm-action-cell{white-space:nowrap;min-width:270px}.fm-action-cell .button{margin:2px 3px 2px 0!important;border-radius:7px!important}.fm-action-update{border-color:#8bb8d8!important;background:#f3f9fd!important;color:#155b86!important}.fm-action-danger{border-color:#efb1b1!important;background:#fff5f5!important;color:#b42318!important;text-decoration:none!important}.fm-mini-bar{height:5px;background:#edf2f7;border-radius:99px;overflow:hidden;margin-top:6px;max-width:130px}.fm-mini-bar i{display:block;height:100%;background:#2563eb;border-radius:99px}.fm-ocean-dashboard .fm-editor-shell{margin-bottom:20px}.fm-ocean-dashboard .fm-editor-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid #edf0f2}@media(max-width:900px){.fm-action-cell{white-space:normal;min-width:180px}.fm-action-cell .button{margin-bottom:5px!important}}

/* v3.6.2 staff administration and consistent register actions */
.fm-action-danger{background:#fff1f2!important;border-color:#fecdd3!important;color:#b42318!important;text-decoration:none!important}.fm-action-danger:hover{background:#ffe4e6!important;border-color:#fda4af!important}.fm-staff-profile-grid{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start;margin-bottom:18px}.fm-profile-photo,.fm-profile-placeholder{width:100px;height:100px;border-radius:22px;object-fit:cover;border:1px solid #e6eaf0}.fm-profile-placeholder{display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#172033;font-size:34px;font-weight:800}.fm-mini-photo{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1px solid #e6eaf0}.fm-status-inactive{opacity:.65;background:#f1f5f9!important;color:#64748b!important}.fm-staff-form .button.fm-action-danger{vertical-align:middle}@media(max-width:650px){.fm-staff-profile-grid{grid-template-columns:1fr}.fm-profile-photo,.fm-profile-placeholder{margin-bottom:4px}}

/* v3.6.3 portal logout controls */
.fm-portal-header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.fm-portal-logout{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;padding:9px 15px!important;border-radius:10px!important;text-decoration:none!important;font-weight:700!important;border:1px solid #d1d5db!important;background:#fff!important;color:#b91c1c!important;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.fm-portal-logout:hover{background:#fef2f2!important;border-color:#fca5a5!important;color:#991b1b!important}
.fm-staff-user{display:flex;align-items:center;gap:12px}
@media(max-width:700px){.fm-customer-hero{align-items:flex-start;flex-wrap:wrap}.fm-portal-header-actions{width:100%;margin-left:0}.fm-portal-logout{width:100%}.fm-staff-user{flex-wrap:wrap}.fm-staff-user .fm-portal-logout{width:auto}}

/* v3.6.7 — glossy, premium portal refresh */
.fm-customer-shell,.fm-staff-portal{position:relative;isolation:isolate}
.fm-customer-shell:before,.fm-staff-portal:before{content:"";position:absolute;inset:-70px -30px auto;height:320px;z-index:-1;background:radial-gradient(circle at 18% 20%,rgba(37,99,235,.13),transparent 38%),radial-gradient(circle at 82% 5%,rgba(14,165,233,.11),transparent 36%);pointer-events:none}
.fm-customer-shell{max-width:1180px;padding:0 20px;margin:42px auto;font-family:inherit}
.fm-customer-hero{position:relative;overflow:hidden;padding:34px 36px;border-radius:26px;background:linear-gradient(135deg,#071d35 0%,#0b3558 42%,#1769aa 78%,#2b8bc9 100%);box-shadow:0 24px 60px rgba(7,29,53,.22),inset 0 1px 0 rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.16)}
.fm-customer-hero:after,.fm-staff-head:after{content:"";position:absolute;width:280px;height:280px;right:-80px;top:-130px;border-radius:50%;background:rgba(255,255,255,.09);box-shadow:-80px 100px 0 rgba(255,255,255,.035);pointer-events:none}
.fm-customer-hero-icon{box-shadow:0 10px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.25);backdrop-filter:blur(10px)}
.fm-customer-card{border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(15,23,42,.075),inset 0 1px 0 rgba(255,255,255,.85);border:1px solid rgba(226,232,240,.9);backdrop-filter:blur(8px);transition:transform .2s ease,box-shadow .2s ease}
.fm-customer-card:hover{box-shadow:0 22px 52px rgba(15,23,42,.10)}
.fm-stat-cards{gap:15px;margin-bottom:25px}
.fm-stat-cards>div{position:relative;overflow:hidden;border:1px solid #e5ebf2;border-radius:17px;padding:19px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 9px 25px rgba(15,23,42,.055);transition:transform .18s ease,box-shadow .18s ease}
.fm-stat-cards>div:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#1769aa,#38bdf8);opacity:.85}
.fm-stat-cards>div:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(15,23,42,.09)}
.fm-stat-cards span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#718096}
.fm-stat-cards strong{font-size:29px;color:#0f3557}
.fm-customer-card h3{font-size:20px;letter-spacing:-.01em}
.fm-customer-card h4{font-size:15px}
.fm-customer-card table{border-collapse:separate!important;border-spacing:0;background:#fff;border:1px solid #e5ebf2!important;border-radius:15px;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.035)}
.fm-customer-card th{background:linear-gradient(#f9fbfd,#f3f7fa);font-size:11px!important;letter-spacing:.07em!important;color:#64748b!important}
.fm-customer-card td{border-bottom:1px solid #edf1f5!important}
.fm-customer-card tr:last-child td{border-bottom:0!important}
.fm-customer-shell .button,.fm-customer-shell button,.fm-staff-portal .button,.fm-staff-portal button{border-radius:10px!important;border:1px solid #d4dde8!important;padding:9px 14px!important;font-weight:750!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;box-shadow:0 3px 10px rgba(15,23,42,.06)!important}
.fm-customer-shell .button:hover,.fm-customer-shell button:hover,.fm-staff-portal .button:hover,.fm-staff-portal button:hover{transform:translateY(-1px);box-shadow:0 7px 17px rgba(15,23,42,.10)!important}
.fm-customer-shell .button-primary,.fm-customer-shell button[type=submit],.fm-staff-portal .button-primary,.fm-staff-portal button[type=submit]{background:linear-gradient(135deg,#1769aa,#0e83c7)!important;border-color:#1769aa!important;color:#fff!important}
.fm-portal-logout{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;backdrop-filter:blur(10px);box-shadow:0 6px 20px rgba(0,0,0,.12)!important}
.fm-portal-logout:hover{background:rgba(255,255,255,.2)!important;color:#fff!important;border-color:rgba(255,255,255,.42)!important}
.fm-staff-portal{max-width:1240px;margin:42px auto;padding:0 20px;color:#172033}
.fm-staff-head{position:relative;overflow:hidden;padding:34px 36px;border-radius:26px;background:linear-gradient(135deg,#07172e 0%,#14213d 43%,#274c77 73%,#1769aa 100%);box-shadow:0 24px 60px rgba(20,33,61,.22),inset 0 1px 0 rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}
.fm-staff-head h2{font-size:32px;letter-spacing:-.025em}.fm-staff-head p{font-size:14px}.fm-staff-user{position:relative;z-index:2;padding:11px 14px;border-radius:13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}
.fm-staff-nav{position:sticky;top:12px;z-index:10;padding:8px;border-radius:17px;background:rgba(255,255,255,.88);border:1px solid rgba(226,232,240,.9);box-shadow:0 12px 32px rgba(15,23,42,.08);backdrop-filter:blur(16px)}
.fm-staff-nav a{border-radius:12px;transition:.18s ease}.fm-staff-nav a.active,.fm-staff-nav a:hover{background:linear-gradient(135deg,#14213d,#1769aa);box-shadow:0 7px 17px rgba(23,105,170,.20);transform:translateY(-1px)}
.fm-stat{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #e3e9f1;border-radius:19px;box-shadow:0 12px 30px rgba(15,23,42,.055);transition:.18s ease}.fm-stat:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#1769aa,#38bdf8)}.fm-stat:hover{transform:translateY(-3px);box-shadow:0 17px 36px rgba(15,23,42,.09)}
.fm-portal-card{border-radius:21px;background:rgba(255,255,255,.96);border:1px solid #e4eaf1;box-shadow:0 15px 38px rgba(15,23,42,.065),inset 0 1px 0 rgba(255,255,255,.9);padding:24px}
.fm-portal-card h3{font-size:20px;letter-spacing:-.015em}.fm-responsive-table{border-collapse:separate!important;border-spacing:0;background:#fff;border:1px solid #e5ebf2;border-radius:15px;overflow:hidden}.fm-responsive-table th{background:linear-gradient(#fafcfd,#f3f7fa);padding:13px!important}.fm-responsive-table td{padding:13px!important}.fm-responsive-table tr:last-child td{border-bottom:0}
.fm-staff-form input,.fm-staff-form select,.fm-staff-form textarea,.fm-inline-search input{border-color:#d5deea!important;border-radius:11px!important;box-shadow:inset 0 1px 2px rgba(15,23,42,.025)!important;transition:border-color .15s,box-shadow .15s}.fm-staff-form input:focus,.fm-staff-form select:focus,.fm-staff-form textarea:focus,.fm-inline-search input:focus{outline:none;border-color:#5aa8d8!important;box-shadow:0 0 0 4px rgba(23,105,170,.10)!important}
.fm-portal-login{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,251,255,.96));box-shadow:0 24px 55px rgba(15,23,42,.12),inset 0 1px 0 #fff;border:1px solid #e1e8f0}.fm-portal-login:before{content:"";position:absolute;width:170px;height:170px;right:-65px;top:-65px;border-radius:50%;background:linear-gradient(135deg,rgba(23,105,170,.13),rgba(56,189,248,.04))}
.fm-success{border-radius:13px!important;box-shadow:0 8px 22px rgba(22,163,74,.07)}
@media(max-width:700px){.fm-customer-shell,.fm-staff-portal{padding:0 12px;margin:24px auto}.fm-customer-hero,.fm-staff-head{padding:24px;border-radius:21px}.fm-customer-hero h2,.fm-staff-head h2{font-size:25px}.fm-staff-nav{position:relative;top:auto}.fm-customer-card,.fm-portal-card{border-radius:17px;padding:18px}.fm-stat-cards{gap:11px}.fm-stat-cards strong{font-size:25px}.fm-staff-user{width:100%;box-sizing:border-box}.fm-staff-user .fm-portal-logout{margin-top:8px}.fm-portal-header-actions{margin-left:0;width:100%}}
/* v3.6.9 — glossy expense center */
.fm-expense-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(242,248,255,.98))!important;box-shadow:0 20px 48px rgba(15,23,42,.09),inset 0 1px 0 #fff!important}
.fm-expense-hero:before{content:"";position:absolute;right:-90px;top:-120px;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle,rgba(23,105,170,.14),rgba(56,189,248,.025) 62%,transparent 70%);pointer-events:none}
.fm-expense-total{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:13px 17px;border-radius:15px;background:linear-gradient(145deg,#fff,#eef7ff);border:1px solid #dce8f3;box-shadow:0 10px 24px rgba(15,23,42,.06),inset 0 1px 0 #fff;color:#1769aa;font-size:20px;font-weight:800;white-space:nowrap}
.fm-expense-total span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#718096;font-weight:700}
.fm-expense-form{position:relative;z-index:1}.fm-expense-form label{font-weight:750}.fm-expense-form textarea{resize:vertical}
.fm-expense-hero .fm-section-title{align-items:center;margin-bottom:18px}
.fm-expense-hero .fm-eyebrow{color:#1769aa}
@media(max-width:700px){.fm-expense-hero .fm-section-title{align-items:flex-start}.fm-expense-total{align-items:flex-start;font-size:18px}.fm-expense-hero .fm-section-title>div:last-child{margin-top:8px}}

/* v3.8.0 — backend delivery center + premium expense entry */
.fm-admin .fm-expense-hero{border-radius:24px!important;padding:28px 30px!important;background:linear-gradient(135deg,#ffffff 0%,#f5faff 48%,#eef7ff 100%)!important;border:1px solid #dfe9f3!important;box-shadow:0 22px 55px rgba(15,23,42,.10),inset 0 1px 0 #fff!important;position:relative;overflow:hidden}
.fm-admin .fm-expense-hero:after{content:"";position:absolute;right:-90px;top:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(23,105,170,.16),rgba(56,189,248,.03) 62%,transparent 70%);pointer-events:none}
.fm-expense-fields label,.fm-expense-form>label{font-weight:700;color:#1f2937}.fm-expense-form input,.fm-expense-form select,.fm-expense-form textarea{border:1px solid #d5dfeb!important;border-radius:13px!important;background:#fff!important;min-height:42px;box-shadow:0 4px 14px rgba(15,23,42,.035),inset 0 1px 1px rgba(15,23,42,.025)!important;transition:.18s ease!important}.fm-expense-form textarea{min-height:95px;padding:12px!important}.fm-expense-form input:focus,.fm-expense-form select:focus,.fm-expense-form textarea:focus{border-color:#2785c7!important;box-shadow:0 0 0 4px rgba(39,133,199,.10),0 8px 20px rgba(15,23,42,.05)!important}
.fm-delivery-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px!important;border-radius:24px!important;background:linear-gradient(135deg,#07172e,#174b76 60%,#1d8bc3)!important;color:#fff!important;box-shadow:0 24px 60px rgba(7,23,46,.20)!important}.fm-delivery-hero h2,.fm-delivery-hero p,.fm-delivery-hero .fm-eyebrow{color:#fff!important}.fm-delivery-badge{padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);font-weight:800;white-space:nowrap}.fm-delivery-form{border-radius:22px!important}.fm-delivery-table td{vertical-align:middle}.fm-notif-dot{display:inline-block;margin:2px;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:700}.fm-notif-dot.is-on{background:#e8f8ef;color:#16834b}.fm-action-whatsapp{border-color:#b7e5c9!important;color:#137a43!important}.fm-action-whatsapp:hover{background:#eefbf3!important}
@media(max-width:800px){.fm-delivery-hero{display:block}.fm-delivery-badge{display:inline-block;margin-top:14px}.fm-admin .fm-expense-hero{padding:22px!important}.fm-delivery-table{min-width:1050px}}
.fm-login-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.fm-login-divider:before,.fm-login-divider:after{content:"";height:1px;flex:1;background:#e5eaf0}.fm-staff-signup-form,.fm-customer-signup-form{position:relative;padding-top:4px}.fm-portal-login .fm-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fm-portal-login .fm-field-grid label{display:block;font-weight:750;color:#334155}.fm-portal-login .fm-field-grid input,.fm-portal-login .fm-field-grid select{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d5deea;border-radius:11px;padding:11px 12px;background:#fff}.fm-portal-login .fm-field-grid input:focus,.fm-portal-login .fm-field-grid select:focus{outline:none;border-color:#5aa8d8;box-shadow:0 0 0 4px rgba(23,105,170,.10)}@media(max-width:620px){.fm-portal-login .fm-field-grid{grid-template-columns:1fr}}
.fm-portal-quote-card{margin-top:24px;overflow:hidden}
.fm-portal-quote-card>.fm-quote-shell{margin:0}
.fm-portal-quote-card .fm-quote-app{box-shadow:none;border:0;background:transparent;padding:0}
.fm-portal-quote-card .fm-quote-hero{margin-top:8px;border-radius:18px}
.fm-portal-quote-card .fm-quote-success{margin-bottom:16px}
