@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#122525;--accent:#08776c;--teal:#62ddce;--coral:#ff795f;--paper:#f4f8f7;--line:#e2eae7;--muted:#7b8986}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:14px 'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #61c6b8;outline-offset:4px}h1,h2,h3{font-family:Manrope,Arial,sans-serif}.boot{display:grid;place-items:center;min-height:100vh;color:var(--accent)}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--accent);margin:0 0 12px}.eyebrow.light{color:#a7d8d1}#login-view{display:grid;grid-template-columns:43% 57%;min-height:100vh}.login-story{background:linear-gradient(180deg,#03111550,#031115ab),url('/assets/flovivo-motion-bg.png') center/cover;color:white;padding:42px 54px;display:flex;flex-direction:column;min-height:780px;position:relative}.story-top{display:flex;gap:13px;align-items:center;font-size:11px;letter-spacing:1.8px;font-weight:600}.app-mark{height:43px;width:43px;background:#122525a0;border:1px solid #526361;border-radius:10px;position:relative;display:block}.app-mark:before{content:'';position:absolute;left:12px;top:9px;width:7px;height:25px;background:white;border-radius:2px}.app-mark:after{content:'';position:absolute;left:17px;top:9px;width:15px;height:7px;background:white;border-radius:2px}.app-mark b{height:8px;width:8px;border-radius:50%;background:var(--coral);position:absolute;right:8px;bottom:8px}.story-copy{margin-top:auto;margin-bottom:auto;padding-top:70px;padding-bottom:70px}.story-copy h1{font-size:clamp(42px,4.7vw,69px);line-height:1.13;letter-spacing:-2.8px;font-weight:600;margin:20px 0 25px}.story-copy>p:not(.eyebrow){font-size:15px;color:#b8d0cc;line-height:1.9}.story-tags{display:flex;gap:10px;margin-top:30px}.story-tags span{border:1px solid #54766d;background:#12332e80;border-radius:25px;padding:8px 15px;font-size:10px;color:#c0ddd5}.story-footer{font-size:11px;color:#8aada5;letter-spacing:.3px}.login-panel{padding:40px 60px 25px;background:white;display:flex;flex-direction:column}.login-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.login-logo{width:158px;height:54px;object-fit:contain}.workspace-tag{font-size:8px;letter-spacing:1.3px;border:1px solid var(--line);padding:8px 10px;border-radius:4px;color:#859c94}.login-form-wrap{width:100%;max-width:400px;margin:auto;padding:45px 0 35px;position:relative}.lock-icon{display:grid;place-items:center;background:#eef8f5;color:var(--accent);border:1px solid #d3eae4;border-radius:13px;width:43px;height:43px;font-size:22px;margin-bottom:25px}.login-form-wrap h2{font-size:29px;font-weight:600;letter-spacing:-1.3px;line-height:1.3;margin:0 0 12px}.login-subtitle{color:var(--muted);font-size:12px;margin:0 0 32px;line-height:1.7}label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.input-wrap{display:flex;align-items:center;border:1px solid #dce5e3;background:#f7faf9;border-radius:8px;height:53px;padding:0 16px;gap:11px;margin-bottom:22px}.input-wrap:focus-within{border-color:var(--accent);background:white;box-shadow:0 0 0 3px #08776c09}.input-wrap>span{color:#7d918b;font-size:21px}.input-wrap input{border:0;outline:0;width:100%;min-width:0;color:var(--ink);background:transparent;font-size:13px}.input-wrap input::placeholder{color:#a2afab}.input-wrap input:focus-visible{outline:0}.reveal{font-size:10px;background:transparent;color:var(--accent);padding:7px 0 7px 5px}.primary{background:var(--ink);color:white;border-radius:7px;padding:16px 20px;font-weight:600;font-size:13px}.primary:hover{background:#1d403b}.sign-in{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:8px}.sign-in span{color:var(--teal);font-size:19px}.staff-only{display:flex;gap:12px;align-items:center;background:#f0f7f4;border:1px solid #e0eee7;border-radius:7px;padding:12px 15px;margin-top:25px}.staff-only>span{color:var(--accent);font-size:20px}.staff-only p{margin:0;line-height:1.8;font-size:10px;color:#7b9188}.staff-only strong{color:#506b61;font-weight:500}.need-access{font-size:10px;color:#8c9b95;line-height:1.8;text-align:center;margin-top:22px}.login-bottom{border-top:1px solid var(--line);text-align:center;padding-top:20px;font-size:8px;letter-spacing:1px;color:#8c9e97}.login-bottom p{font-size:10px;letter-spacing:0;margin:8px 0}.error{color:#a54532;background:#fff0eb;border-radius:6px;font-size:12px;line-height:1.6;padding:12px;margin:5px 0 16px}.app-header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1600px;margin:auto;padding:17px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand-button{display:flex;align-items:center;gap:18px;background:none;padding:0}.brand-button img{width:145px;height:44px;object-fit:contain}.brand-button>span{font-size:8px;letter-spacing:1.4px;color:#8e9e97;border-left:1px solid var(--line);padding-left:18px}.header-right{display:flex;align-items:center;gap:25px}.access-badge{font-size:9px;background:#eef8f5;color:var(--accent);border:1px solid #e1eee7;padding:7px 10px;border-radius:5px}.user-identity{display:flex;gap:10px;align-items:center}.avatar{display:grid;place-items:center;height:34px;width:34px;border-radius:50%;background:#dcefe7;color:var(--accent);font-size:11px;font-weight:600}.user-identity strong{font-size:11px;font-weight:600;display:block}.user-identity small{display:block;font-size:9px;color:#91a097;margin-top:3px}.quiet-button{font-size:10px;background:none;color:#84978d;display:flex;gap:9px;padding:8px}.quiet-button:hover{color:var(--accent)}.module-nav{border-top:1px solid #f0f4f1;overflow-x:auto}.nav-inner{max-width:1600px;min-width:max-content;margin:auto;padding:0 40px;display:flex;gap:23px}.nav-item{padding:18px 0 16px;background:transparent;display:flex;align-items:center;gap:8px;white-space:nowrap;color:#85958a;font-size:10px;border-bottom:2px solid transparent}.nav-item svg{width:15px;height:15px;flex-shrink:0}.nav-item[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.nav-item:hover{color:var(--accent)}.dashboard{max-width:1600px;padding:0 40px;margin:auto}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:9px;color:#99a69d;padding:22px 0}.breadcrumb button{background:none;padding:0;font-size:9px;color:#8fa097}.snapshot-tag{margin-left:auto;font-size:7px;letter-spacing:1.2px;color:#9aae9e}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:5px 0 26px}.page-heading .eyebrow{font-size:8px;margin-bottom:8px}.page-heading h1{font-size:31px;letter-spacing:-1.2px;font-weight:650;margin:0 0 8px}.page-heading p:not(.eyebrow){font-size:11px;color:#8a9b90;margin:0;line-height:1.8}.page-controls{display:flex;gap:10px;align-items:center}.page-controls select{font-size:10px;color:#667c6d;border:1px solid #dce6dd;background:white;padding:11px 28px 11px 12px;border-radius:6px;max-width:240px}.outline-button{background:white;color:#617768;font-size:10px;border:1px solid #dce6dd;border-radius:6px;padding:11px 12px;white-space:nowrap}.outline-button:hover{border-color:#8eafa0}.welcome-banner{padding:27px 32px;background:linear-gradient(90deg,#061517ee,#06151780),url('/assets/flovivo-motion-bg.png') center 40%/cover;border-radius:10px;color:white;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:175px;margin-bottom:22px}.welcome-banner .eyebrow{font-size:8px;letter-spacing:1.5px;color:#82c2b5;margin-bottom:11px}.welcome-banner h2{font-size:29px;font-weight:500;letter-spacing:-.9px;margin:0 0 8px}.welcome-banner p{font-size:10px;color:#a6c1b5;margin:0;line-height:1.7}.banner-link{padding:0;background:none;color:#8ee4d5;font-size:10px;margin-top:16px;display:flex;gap:15px}.banner-summary{border:1px solid #4c706333;border-radius:8px;background:#123b304d;padding:20px;font-size:10px;min-width:190px;max-width:310px}.banner-summary small{display:block;color:#94b9a7;font-size:8px;margin-top:8px;margin-left:13px}.pulse-dot{display:inline-block;background:var(--teal);border-radius:50%;width:5px;height:5px;margin-right:7px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric{border:1px solid var(--line);background:white;padding:20px 22px;border-radius:8px;min-width:0}.metric>div{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#7c9182;font-size:10px}.metric i{font-style:normal;font-size:17px;color:#3b8d70;background:#eef7ef;border-radius:6px;display:grid;place-items:center;height:29px;width:29px;flex-shrink:0}.metric strong{font-family:Manrope,sans-serif;font-weight:650;font-size:27px;letter-spacing:-1px;display:block;margin:16px 0 9px;overflow-wrap:anywhere}.metric p{font-size:8px;color:#9aac9b;margin:0;line-height:1.6}.chart-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:20px;margin-bottom:28px}.panel{background:white;border:1px solid var(--line);border-radius:9px;min-width:0;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px}.panel-heading h2{font-size:14px;font-weight:600;letter-spacing:-.3px;margin:0 0 6px}.panel-heading p{font-size:9px;color:#9aa99a;margin:0;line-height:1.8}.panel-heading>strong{font-family:Manrope,sans-serif;font-weight:600;font-size:21px;letter-spacing:-.7px}.chart-legend{display:flex;align-items:center;gap:6px;padding:0 24px;color:#7d917e;font-size:8px}.chart-legend>span{height:5px;width:5px;background:var(--accent);border-radius:50%}.chart-legend small{margin-left:auto;font-size:7px;color:#a7b4a4}.chart-wrap{height:205px;position:relative;margin:15px 20px 18px}.chart-wrap canvas{width:100%;height:100%;display:block}.chart-wrap>p{position:absolute;inset:0;display:grid;place-items:center;background:#ffffffcc;font-size:12px;color:#8b9e8c}.mini-icon{font-size:18px;color:#7b9d82}.statuses{padding:0 24px 8px;min-height:205px}.status-row{margin:13px 0 17px}.status-row>div{display:flex;justify-content:space-between;font-size:9px;color:#7c937c;margin-bottom:8px}.status-track{background:#f2f6f0;height:5px;border-radius:5px;overflow:hidden}.status-track span{display:block;background:#8bb39b;height:100%;border-radius:5px}.status-row:nth-child(2) .status-track span{background:#b6ceb5}.status-row:nth-child(3) .status-track span{background:#ffb49e}.status-row:nth-child(4) .status-track span{background:#d1dcc8}.panel-link{background:none;color:var(--accent);font-size:9px;display:flex;align-items:center;gap:13px;padding:0}.status-panel>.panel-link{border-top:1px solid var(--line);padding:15px 24px;width:100%;justify-content:space-between}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:20px}.section-title h2{font-size:16px;letter-spacing:-.5px;font-weight:600;margin:0}.section-title>span{font-size:9px;color:#99aa97}.module-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:28px}.module-card{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:7px;background:white;padding:17px 18px;min-width:0;transition:border-color .2s,transform .2s}.module-card:hover{border-color:#89b4a0;transform:translateY(-2px)}.module-card>.module-icon{height:34px;width:34px;background:#eef6ef;border-radius:7px;display:grid;place-items:center;color:var(--accent);flex-shrink:0}.module-icon svg{height:17px;width:17px}.module-card strong{font-size:10px;font-weight:500;display:block;color:#405b48}.module-card small{font-size:8px;color:#9aac97;display:block;margin-top:5px}.module-card>.module-arrow{margin-left:auto;color:#a6b7a1;font-size:15px}.recent-panel{margin-bottom:25px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f9fbf7;padding:13px 24px;color:#9baa95;font-size:8px;letter-spacing:.6px;text-transform:uppercase;font-weight:500}td{padding:16px 24px;font-size:10px;border-top:1px solid #f0f4ec;color:#768b70}td:first-child{font-weight:500;color:#35583b}.status-chip{display:inline-block;background:#eef6e9;color:#6d9256;font-size:8px;padding:5px 8px;border-radius:4px}.status-chip.pending{background:#fff2df;color:#a98a48}.status-chip.warn{background:#fff0e9;color:#ae7760}.app-footer{display:flex;justify-content:space-between;gap:20px;padding:15px 0 25px;font-size:8px;color:#a0ae98}.app-footer b{color:#ff795f;margin:0 7px}.page-error{background:#fff0eb;border:1px solid #f3d6cb;border-radius:8px;padding:15px;font-size:12px;color:#a54830;margin:20px 0}.loading{padding:35px;color:var(--accent);font-size:13px}.empty-state{text-align:center;padding:40px 24px;color:#92a08a;font-weight:400!important}.table-actions{display:flex;gap:10px}.table-actions input{border:1px solid var(--line);border-radius:6px;background:#fafcf8;padding:10px 12px;font-size:10px;width:220px;color:var(--ink)}.module-page .panel-heading{align-items:start}.module-page .panel-heading p{max-width:500px}.table-footer{padding:17px 24px;display:flex;justify-content:space-between;gap:20px;color:#9aa894;font-size:9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#122525;color:white;padding:13px 20px;border-radius:7px;font-size:12px;z-index:30;box-shadow:0 10px 30px #12252520}@media(min-width:1600px){.nav-inner{justify-content:space-between;gap:20px}.nav-item{font-size:11px}}@media(max-width:1150px){.header-inner,.nav-inner{padding-left:24px;padding-right:24px}.dashboard{padding:0 24px}.header-right{gap:16px}.brand-button>span{display:none}.nav-inner{gap:23px}.page-heading{align-items:start}.page-controls{flex-wrap:wrap;justify-content:flex-end}.metric{padding:17px}.metric strong{font-size:23px}.module-cards{grid-template-columns:repeat(2,1fr)}.login-panel{padding:35px 40px 25px}.login-story{padding:35px}.workspace-tag{display:none}.chart-legend small{display:none}.chart-grid{grid-template-columns:1.6fr 1fr}}@media(max-width:760px){#login-view{display:block}.login-story{min-height:240px;padding:22px 25px;background-position:center 35%}.story-top{font-size:9px;gap:10px}.app-mark{transform:scale(.8);transform-origin:left center;margin-right:-7px}.story-copy{padding:25px 0 8px;margin:0}.story-copy .eyebrow{font-size:8px;margin-bottom:10px}.story-copy h1{font-size:37px;letter-spacing:-1.5px;margin:0}.story-copy>p:not(.eyebrow),.story-tags,.story-footer{display:none}.login-panel{padding:26px 25px 20px;border-radius:14px 14px 0 0;margin-top:-12px;position:relative;min-height:calc(100vh - 230px)}.login-top{display:none}.login-form-wrap{padding:12px 0 25px;max-width:440px}.lock-icon{display:none}.login-form-wrap h2{font-size:25px;letter-spacing:-1px}.login-subtitle{font-size:11px;margin-bottom:25px}.login-bottom{margin-top:auto}.header-inner{padding:13px 18px}.brand-button img{width:117px;height:35px}.header-right{gap:10px}.access-badge{display:none}.user-identity{gap:7px}.user-identity strong{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.user-identity small{font-size:8px}.avatar{width:29px;height:29px;font-size:10px}.quiet-button{font-size:9px;padding:5px;gap:4px}.nav-inner{padding:0 18px;gap:22px}.nav-item{padding:14px 0;font-size:9px;gap:6px}.nav-item svg{width:14px;height:14px}.dashboard{padding:0 18px}.breadcrumb{padding:18px 0;font-size:8px}.snapshot-tag{font-size:6px;letter-spacing:.4px}.page-heading{display:block;margin-bottom:22px}.page-heading h1{font-size:27px}.page-heading p:not(.eyebrow){font-size:10px}.page-controls{justify-content:flex-start;margin-top:17px;gap:8px}.page-controls select{max-width:210px;font-size:9px;padding:10px 20px 10px 10px}.outline-button{font-size:9px;padding:10px}.welcome-banner{padding:23px;min-height:180px;margin-bottom:17px}.welcome-banner h2{font-size:25px;max-width:250px}.welcome-banner p{font-size:9px;max-width:240px}.banner-summary{display:none}.metrics{grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:17px}.metric{padding:15px}.metric>div{font-size:9px;min-height:29px}.metric i{width:25px;height:25px;font-size:15px}.metric strong{font-size:23px;margin:12px 0 7px}.metric p{font-size:7px}.chart-grid{grid-template-columns:1fr;gap:17px;margin-bottom:23px}.panel-heading{padding:20px}.panel-heading h2{font-size:13px}.panel-heading p{font-size:8px}.panel-heading>strong{font-size:19px}.chart-wrap{height:180px}.statuses{min-height:100px;padding:0 20px}.section-title>span{display:none}.section-title h2{font-size:15px}.module-cards{gap:10px;margin-bottom:23px}.module-card{padding:14px 12px;gap:9px}.module-card strong{font-size:9px}.module-card small{font-size:7px}.module-card>.module-icon{width:29px;height:29px}.module-card>.module-arrow{display:none}.module-icon svg{height:15px;width:15px}td,th{padding:14px 20px}.app-footer{font-size:7px;display:block;line-height:2}.app-footer>span{display:block}.module-page .panel-heading{display:block}.table-actions{margin-top:16px;flex-wrap:wrap}.table-actions input{width:100%}.table-footer{font-size:8px;flex-wrap:wrap}.staff-only{font-size:10px}#toast{width:calc(100% - 40px);text-align:center}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Branded horizontal navigation: distinct buttons and clear selection. */
.module-nav{background:#edf6f3;border-top:1px solid #d6e8e1;border-bottom:1px solid #d6e8e1}
.nav-inner{gap:8px;padding-top:11px;padding-bottom:11px}
.nav-item{padding:11px 12px;background:#fff;color:#165b53;border:1px solid #b9d9d0;border-radius:9px;font-size:11px;font-weight:600;box-shadow:0 2px 4px #12252506;transition:background .15s,border-color .15s,box-shadow .15s}
.nav-item svg{width:17px;height:17px;color:#08776c}
.nav-item:nth-child(4n+2){background:#fff3ee;border-color:#f0c6b9;color:#873d2b}
.nav-item:nth-child(4n+2) svg{color:#a94832}
.nav-item:nth-child(4n+3){background:#e4f5ef;border-color:#abd6c6;color:#145d48}
.nav-item:hover{background:#d2eee5;border-color:#08776c;color:#12483e;box-shadow:0 3px 8px #08776c15}
.nav-item[aria-current=page]{background:#08776c;border-color:#065e55;color:#fff;box-shadow:0 3px 9px #08776c33}
.nav-item[aria-current=page] svg{color:#fff}
.nav-item:focus-visible{outline:3px solid #b34b32;outline-offset:2px}
@media(max-width:760px){.nav-inner{gap:8px;padding-top:9px;padding-bottom:9px}.nav-item{padding:11px 12px;font-size:11px;gap:7px}.nav-item svg{width:16px;height:16px}}

/* Dashboard visual polish in the Flovivo palette. */
#app-view{min-height:100vh;background:radial-gradient(ellipse at 95% 8%,#d9eee680,transparent 42%),#f5f8f7}
.dashboard{padding-bottom:12px}
.breadcrumb{color:#687f78}
.page-heading{margin-bottom:25px}
.page-heading h1{font-size:34px;letter-spacing:-1.3px;color:#123c35}
.page-heading .eyebrow{font-size:10px;letter-spacing:1.8px}
.page-heading p:not(.eyebrow){font-size:12px;color:#6b8179}
.page-controls select,.outline-button{border-radius:10px;box-shadow:0 2px 5px #12252504}
.welcome-banner{position:relative;border-radius:20px;padding:30px 34px;min-height:195px;border:1px solid #164d43;box-shadow:0 12px 28px #153f3518;background:linear-gradient(95deg,#062822f5,#082825bc 48%,#08282530),url('/assets/flovivo-motion-bg.png') center 40%/cover}
.welcome-banner h2{font-size:32px;font-weight:600;letter-spacing:-1px}
.welcome-banner .eyebrow{font-size:9px;color:#8fe1cb}
.welcome-banner p{font-size:12px;color:#c0d7d0}
.banner-link{display:inline-flex;align-items:center;gap:20px;background:#ffffff13;padding:10px 15px;border:1px solid #ffffff35;border-radius:8px;color:#e9fff8;margin-top:20px;font-size:11px}
.banner-link:hover{background:#ffffff25}
.banner-summary{border-radius:13px;background:#062e2780;border:1px solid #9fd3bf35;padding:20px;backdrop-filter:blur(6px)}
.metrics{gap:17px;margin-bottom:25px}
.metric{position:relative;overflow:hidden;border:1px solid #dbe8e2;border-radius:15px;padding:23px;box-shadow:0 5px 16px #153f3506;transition:box-shadow .18s,border-color .18s}
.metric:before{content:'';position:absolute;top:0;left:22px;right:22px;height:3px;background:#08776c;border-radius:0 0 5px 5px}
.metric:nth-child(2):before{background:#54a88c}.metric:nth-child(3):before{background:#e8785f}.metric:nth-child(4):before{background:#c99840}
.metric>div{font-size:11px;font-weight:600;color:#557269}
.metric i{width:35px;height:35px;border-radius:11px;background:#e7f4ee;color:#08776c;font-size:20px}
.metric:nth-child(3) i{background:#fff0ea;color:#b9573e}.metric:nth-child(4) i{background:#fbf3e4;color:#98732b}
.metric strong{font-size:29px;color:#173f35;margin-top:18px}
.metric p{color:#768c82;font-size:9px}
.metric:hover{border-color:#a7cbbd;box-shadow:0 8px 22px #153f3510}
.panel{border-radius:16px;border-color:#dce8e2;box-shadow:0 4px 15px #153f3505}
.panel-heading{padding:24px 25px}
.panel-heading h2{font-size:16px;color:#234e41;font-weight:650}
.panel-heading p{font-size:10px;color:#748a7e}
.panel-heading>strong{color:#08776c;font-size:24px}
.panel-link{font-weight:600;color:#08776c}
th{background:#f0f6f3;color:#607a6c;font-size:9px}
td{color:#3d5c50;font-size:11px;border-bottom-color:#edf2ee}
tbody tr:hover{background:#f8fbf9}
.empty-state{color:#748b7e;padding:32px 24px!important}
@media(max-width:760px){.page-heading h1{font-size:29px}.welcome-banner{padding:24px;min-height:190px;border-radius:16px}.welcome-banner h2{font-size:26px}.welcome-banner p{font-size:10px}.metric{padding:16px;border-radius:12px}.metric strong{font-size:23px}.metric>div{font-size:10px}.metric p{font-size:8px}.metric i{width:29px;height:29px;font-size:17px}.metrics{gap:11px}.panel-heading{padding:20px}.panel-heading h2{font-size:15px}.panel-heading>strong{font-size:21px}}

/* Immersive Flovivo artwork across the workspace. */
#app-view{position:relative;isolation:isolate;background:#092a25}
#app-view:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#06231deb,#08292195 58%,#09251e65),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}
.dashboard{background:transparent}
.breadcrumb,.breadcrumb button,.breadcrumb span{color:#b8d4cb}
.snapshot-tag{background:#ffffff0e;border-color:#ffffff25;color:#b8d4cb}
.page-heading h1{color:#f2fff9}
.page-heading .eyebrow{color:#86dcc2}
.page-heading p:not(.eyebrow){color:#c0d5cd}
.page-heading{margin-top:8px;margin-bottom:28px}
.metric,.panel{background:#fcfffded;border-color:#ffffff80;box-shadow:0 8px 25px #001a1820;backdrop-filter:blur(12px)}
.metric:hover{background:#fff;border-color:#a9e1cf;box-shadow:0 10px 28px #001a1833}
.metric:before{height:4px}
.app-footer,.app-footer span{color:#bbd2c8}
.loading{color:#c3f0e0}
.table-scroll{background:#ffffff40}
@media(prefers-reduced-transparency:reduce){.metric,.panel{background:#fcfffd;backdrop-filter:none}}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 12px;border-radius:9px;border:1px solid #c5ddd4;background:#edf6f2;color:#185e4f;font-size:11px;font-weight:600}
.theme-toggle:hover{background:#d9eee5}
html[data-theme=night]{color-scheme:dark}
html[data-theme=night] #app-view{color:#e2f2eb;background:#071b17}
html[data-theme=night] #app-view:before{background:linear-gradient(110deg,#03120ff2,#051b16d9 58%,#041711b3),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}
html[data-theme=night] .app-header{background:#0e2520;border-color:#29483d}
html[data-theme=night] .header-inner{background:#0e2520}
html[data-theme=night] .brand-button img{background:#fff;border-radius:6px;padding:4px}
html[data-theme=night] .user-identity strong{color:#e4f5ec}
html[data-theme=night] .user-identity small,html[data-theme=night] .quiet-button{color:#a6c4b6}
html[data-theme=night] .module-nav{background:#102c24;border-color:#284d3f}
html[data-theme=night] .nav-item{background:#163b30;border-color:#315c4b;color:#c4e9d8}
html[data-theme=night] .nav-item svg{color:#77d7b7}
html[data-theme=night] .nav-item:nth-child(4n+2){background:#3a2c25;border-color:#6b4b3c;color:#f2c7b4}
html[data-theme=night] .nav-item:nth-child(4n+2) svg{color:#ffa88b}
html[data-theme=night] .nav-item:hover{background:#235441;border-color:#77c4a6}
html[data-theme=night] .nav-item[aria-current=page]{background:#08776c;color:#fff;border-color:#5dbdac}
html[data-theme=night] .nav-item[aria-current=page] svg{color:#fff}
html[data-theme=night] .metric,html[data-theme=night] .panel{background:#102b23ed;border-color:#315245;box-shadow:0 8px 25px #0003}
html[data-theme=night] .metric:hover{background:#17382d;border-color:#5a8a73}
html[data-theme=night] .metric strong,html[data-theme=night] .panel-heading h2{color:#edf9f1}
html[data-theme=night] .metric>div,html[data-theme=night] .metric p,html[data-theme=night] .panel-heading p,html[data-theme=night] .table-footer{color:#abc4b6}
html[data-theme=night] .panel-heading>strong,html[data-theme=night] .panel-link{color:#80ddbc}
html[data-theme=night] .metric i{background:#234e3d;color:#8bddb9}
html[data-theme=night] .metric:nth-child(3) i{background:#49352b;color:#ffb198}
html[data-theme=night] .metric:nth-child(4) i{background:#443e24;color:#e9ce7a}
html[data-theme=night] .table-scroll{background:transparent}
html[data-theme=night] th{background:#193b2f;color:#b9d4c4}
html[data-theme=night] td{color:#d2e4d9;border-color:#294c3b}
html[data-theme=night] tbody tr:hover{background:#1b3c2e}
html[data-theme=night] .empty-state{color:#a9c3b2}
html[data-theme=night] .page-controls select,html[data-theme=night] .outline-button,html[data-theme=night] .table-actions input{background:#16362b;border-color:#3b614d;color:#d8ede0}
html[data-theme=night] .theme-toggle{background:#244c3a;color:#f3ddb0;border-color:#41674d}
html[data-theme=night] .access-badge,html[data-theme=night] .avatar{background:#214e3d;color:#b7ead1;border-color:#3b6c54}
@media(max-width:760px){.theme-toggle{font-size:10px;padding:8px}.header-right{gap:8px}.user-identity strong{max-width:85px}}

.clickable-row{cursor:pointer}.clickable-row td:first-child{color:#08776c;text-decoration:underline;text-underline-offset:3px}.clickable-row:focus-visible{outline:3px solid #08776c;outline-offset:-3px}
#record-dialog{width:min(880px,94vw);max-height:88vh;padding:28px;border:1px solid #d7e7de;border-radius:18px;color:#173f35;background:#fbfefc;box-shadow:0 24px 80px #0005}#record-dialog::backdrop{background:#031b16aa;backdrop-filter:blur(5px)}
.details-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.details-heading h2{margin:0;font-size:24px}.details-heading .eyebrow{margin-bottom:8px}#details-state{color:#758a7c;font-size:12px;margin:18px 0}.record-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0}.record-fields>div{padding:15px 0;border-bottom:1px solid #dce8df;min-width:0}.record-fields dt{font-size:11px;color:#708579;margin-bottom:7px}.record-fields dd{font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
html[data-theme=night] #record-dialog{background:#102b23;color:#e1f3e7;border-color:#426453}html[data-theme=night] .record-fields>div{border-color:#315342}html[data-theme=night] .record-fields dt,html[data-theme=night] #details-state{color:#abc5b5}html[data-theme=night] .clickable-row td:first-child{color:#8ad7bb}
@media(max-width:600px){#record-dialog{padding:20px}.record-fields{grid-template-columns:1fr}.details-heading h2{font-size:20px}}

.franchise-logo-preview{display:block;max-width:100%;width:auto;max-height:140px;object-fit:contain;background:#fff;padding:14px;border:1px solid #dce8df;border-radius:10px}.logo-detail{grid-column:1/-1;grid-row:1}

.document-detail{grid-column:1/-1}.franchise-document-preview{display:block;max-width:100%;width:auto;max-height:480px;object-fit:contain;object-position:left top;background:#fff;padding:8px;border:1px solid #dce8df;border-radius:10px}.document-download{display:inline-block;background:#08776c;color:white;padding:10px 14px;border-radius:8px;text-decoration:none;font-size:12px}.document-download:hover{background:#075e55}

.table-scroll{max-width:100%;overflow-x:auto;scrollbar-color:#438571 #e4eee8}.module-page th{white-space:nowrap}.module-page td{max-width:360px;overflow-wrap:break-word}


.pagination{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px}.pagination button{padding:9px 13px;border-radius:8px;border:1px solid #bad5c8;background:#edf7f1;color:#195641;font-size:11px;font-weight:600}.pagination button:disabled{cursor:default;opacity:.4}.pagination button:hover:not(:disabled){background:#d6eee0}html[data-theme=night] .pagination button{background:#224b37;color:#d2efdf;border-color:#41684e}

.pagination-top-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 24px 18px;color:#657e70;font-size:11px;flex-wrap:wrap}html[data-theme=night] .pagination-top-wrap{color:#b0ccbc}@media(max-width:600px){.pagination-top-wrap{padding:0 20px 16px}.pagination{gap:8px}}

.booking-status-tabs{display:flex;gap:8px;padding:0 24px 20px;overflow-x:auto}.booking-status-tabs button{white-space:nowrap;padding:10px 13px;border-radius:9px;background:#edf5f0;color:#35624b;border:1px solid #d0e1d5;font-size:11px;font-weight:600}.booking-status-tabs button[aria-pressed=true]{background:#08776c;color:white;border-color:#08776c}.booking-status-tabs button:hover{border-color:#08776c}html[data-theme=night] .booking-status-tabs button{background:#234331;color:#c1dec9;border-color:#44614b}html[data-theme=night] .booking-status-tabs button[aria-pressed=true]{background:#08776c;color:white}

.metric-link{cursor:pointer}.metric-link:focus-visible{outline:3px solid #7edbb6;outline-offset:4px}.metric-link:hover strong{color:#08776c}html[data-theme=night] .metric-link:hover strong{color:#8be3bf}

.module-page .sticky-awb{position:sticky;left:0;z-index:2;background:#f5faf7;box-shadow:5px 0 8px -5px #173f3560;min-width:145px;font-weight:600;border-right:1px solid #d6e5dc}
.module-page th.sticky-awb{z-index:3;background:#e6f1eb}
html[data-theme=night] .module-page .sticky-awb{background:#16362a;border-right-color:#3a5948}
html[data-theme=night] .module-page th.sticky-awb{background:#214633}

.tracking-link{color:#08776c;text-decoration:underline;text-underline-offset:3px;font-weight:700}.tracking-link:hover{color:#b6553a}.tracking-page{max-width:1000px;margin:0 auto;padding:28px 24px 50px}.tracking-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px}.tracking-header img{width:150px;background:#fff;border-radius:8px;padding:8px}.tracking-header span{font-size:10px;letter-spacing:2px;color:#08776c}.tracking-page h1{font-size:30px}.tracking-page>p{color:#718a7b;line-height:1.7}.tracking-summary{padding:8px 24px 24px;margin:24px 0}.tracking-events{list-style:none;margin:0;padding:0 26px 24px}.tracking-events li{position:relative;border-left:2px solid #cce1d4;padding:8px 0 22px 22px}.tracking-events li:before{content:'';position:absolute;left:-6px;top:12px;width:10px;height:10px;border-radius:50%;background:#08776c}.tracking-events p{color:#748b7d;font-size:12px;line-height:1.7;margin:8px 0 0}html[data-theme=night] body:has(.tracking-page){background:#081e17;color:#e2f1e7}html[data-theme=night] .tracking-link{color:#8ed6b6}html[data-theme=night] .tracking-events p,html[data-theme=night] .tracking-page>p{color:#aec8b8}

.pod-actions{margin:16px 0}.pod-actions span{font-size:12px;color:#7c8f83}html[data-theme=night] .pod-actions span{color:#aec8b8}

.tracking-current-status{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:24px;background:#e1f2e9;color:#14684e;border:1px solid #b7ddcc;font-weight:700;font-size:14px;margin:0 0 10px}.tracking-current-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#08776c}html[data-theme=night] .tracking-current-status{background:#214c38;color:#b7efd1;border-color:#47775a}

.pod-card{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:18px;border-radius:14px;background:linear-gradient(135deg,#e4f4ec,#f4faf6);border:1px solid #b8dacc}.pod-card-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:10px;background:#08776c;color:white;font-weight:700}.pod-card-content{min-width:0;flex:1}.pod-card h3{font-size:15px;margin:0 0 8px;color:#174d3a}.pod-card p{font-size:11px;line-height:1.7;color:#668573;margin:0 0 12px}.pod-card-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.pod-card .document-download{font-weight:600;border:0;cursor:pointer}.pod-secondary{font-size:12px;font-weight:600;color:#08776c;text-underline-offset:3px}.pod-card #pod-note{margin-top:12px}.pod-card #pod-preview{display:block;max-width:100%;max-height:480px;object-fit:contain;margin-top:15px;border-radius:8px;background:white}.pod-card #pod-preview[hidden]{display:none}html[data-theme=night] .pod-card{background:linear-gradient(135deg,#214a36,#173627);border-color:#41694e}html[data-theme=night] .pod-card h3{color:#d9f5e2}html[data-theme=night] .pod-card p{color:#b3ceba}html[data-theme=night] .pod-secondary{color:#92dbb5}

.pod-compact{margin-top:12px;padding:0;border:0;background:none}.pod-small-button{display:inline-flex;align-items:center;padding:8px 13px;border:1px solid #a6d2c0;border-radius:8px;background:#e5f4ec;color:#14674e;font-size:12px;font-weight:600;cursor:pointer}.pod-small-button:hover{background:#cee9db}.pod-compact-note{font-size:10px;line-height:1.6;color:#718979;margin:8px 0 0}.pod-compact details{margin-top:10px}.pod-compact summary{font-size:11px;color:#08776c;cursor:pointer}.pod-compact #pod-preview{max-width:100%;max-height:350px;object-fit:contain;margin-top:10px;border-radius:7px}.pod-compact #pod-preview[hidden]{display:none}html[data-theme=night] .pod-small-button{background:#244b37;color:#c0edd0;border-color:#48755a}html[data-theme=night] .pod-compact-note{color:#a8c4b1}html[data-theme=night] .pod-compact summary{color:#9cddba}

.pod-dialog{width:min(760px,94vw);max-height:88vh;border:1px solid #c8e0d2;border-radius:16px;padding:24px;background:#fbfefc;color:#173f35;box-shadow:0 25px 80px #001d1950}.pod-dialog::backdrop{background:#041e18a6;backdrop-filter:blur(5px)}.pod-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.pod-dialog h2{font-size:21px;margin:0}.pod-dialog #pod-note{font-size:12px;color:#6c8777;line-height:1.7;margin:16px 0}.pod-dialog-preview{display:block;max-width:100%;max-height:60vh;object-fit:contain;margin:20px auto 0;border-radius:8px;background:#fff}.pod-dialog-preview[hidden]{display:none}html[data-theme=night] .pod-dialog{background:#102d22;color:#e3f6e8;border-color:#3f6850}html[data-theme=night] .pod-dialog #pod-note{color:#b2cdbb}

.delivery-pod-row dd{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.delivery-pod-row .pod-compact{margin-top:0}

.tracking-summary .delivery-pod-row{grid-column:2}@media(max-width:600px){.tracking-summary .delivery-pod-row{grid-column:1}}

.tracking-summary .delivery-date-row{grid-column:1;grid-row:4}.tracking-summary .pod-field-row{grid-column:2;grid-row:4}.pod-field-row .pod-compact{margin-top:0}@media(max-width:600px){.tracking-summary .delivery-date-row,.tracking-summary .pod-field-row{grid-column:1;grid-row:auto}}

.cod-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.cod-summary[hidden]{display:none}.cod-summary>div{padding:20px;border:1px solid var(--border,#bed5cb);border-radius:16px;background:rgba(83,161,135,.08)}.cod-summary span{display:block;font-size:13px;opacity:.75;margin-bottom:10px}.cod-summary strong{font-size:clamp(18px,2vw,28px);color:inherit}@media(max-width:800px){.cod-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cod-dates{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:0 24px 20px}.cod-dates[hidden]{display:none}.cod-dates label{display:grid;gap:6px;font-size:12px}.cod-dates input,.cod-dates select{padding:10px;border:1px solid #a6bdb2;border-radius:9px;background:var(--panel,#fff);color:inherit}

.cod-dates{display:block;margin:0 24px 22px;padding:20px;border:1px solid #c4dcd3;border-radius:18px;background:linear-gradient(120deg,#f5faf7,#e8f3ee)}.cod-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.cod-filter-heading strong{display:block;font-size:14px;color:#24584b}.cod-filter-heading #cod-range-label{display:block;font-size:12px;color:#62796e;margin-top:5px}.cod-live{font-size:11px;background:#d4ece2;color:#23644f;padding:6px 10px;border-radius:30px}.cod-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.cod-presets button{padding:9px 16px;border:1px solid #c4dbd0;border-radius:30px;background:transparent;color:#426659;font-size:12px;cursor:pointer}.cod-presets button[aria-pressed=true]{background:#08776c;border-color:#08776c;color:#fff;box-shadow:0 3px 10px #08776c20}.cod-filter-fields{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.cod-filter-fields label{flex:1;min-width:145px;color:#4b6c5e}.cod-filter-fields input,.cod-filter-fields select{width:100%;min-height:42px;background:#fff;color:#254f42;box-sizing:border-box}.cod-date-arrow{padding-bottom:13px;color:#6e9482}.cod-filter-fields button{min-height:42px}#cod-filter-message{margin:8px 0 0;font-size:12px;color:#ae493c}#cod-filter-message:empty{display:none}html[data-theme=night] .cod-dates{background:linear-gradient(120deg,#19352d,#1f3c32);border-color:#3a5b4b}html[data-theme=night] .cod-filter-heading strong,html[data-theme=night] .cod-filter-fields label,html[data-theme=night] .cod-presets button{color:#d1e9dc}html[data-theme=night] .cod-filter-heading #cod-range-label{color:#a1c4b3}html[data-theme=night] .cod-filter-fields input,html[data-theme=night] .cod-filter-fields select{background:#152c24;color:#e0efe7;border-color:#54715f}@media(max-width:600px){.cod-dates{margin:0 12px 18px;padding:15px}.cod-date-arrow{display:none}.cod-filter-heading{align-items:start}}

/* Compact COD filter toolbar. */
.cod-dates{padding:12px 14px;margin-bottom:16px;border-radius:12px}.cod-filter-heading{margin-bottom:9px}.cod-filter-heading strong{font-size:12px}.cod-filter-heading #cod-range-label{display:inline;font-size:11px;margin-left:10px}.cod-filter-heading>div{display:flex;align-items:center;flex-wrap:wrap}.cod-live{padding:4px 8px;font-size:10px}.cod-presets{margin-bottom:10px;gap:6px}.cod-presets button{padding:6px 12px;font-size:11px}.cod-filter-fields{gap:8px}.cod-filter-fields label{gap:4px;font-size:11px;min-width:125px}.cod-filter-fields input,.cod-filter-fields select{min-height:34px;padding:6px 9px;font-size:12px}.cod-filter-fields button{min-height:34px;padding:7px 12px;font-size:11px}.cod-date-arrow{padding-bottom:8px}@media(min-width:1100px){.cod-dates{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:end}.cod-dates[hidden]{display:none}.cod-filter-heading{grid-column:1/-1;margin-bottom:8px}.cod-presets{margin:0;align-self:end;padding-bottom:2px}.cod-filter-fields{min-width:0}.cod-filter-fields label{min-width:105px}.cod-filter-fields label:first-child{flex:1.3}#cod-filter-message{grid-column:1/-1}}@media(max-width:600px){.cod-dates{padding:10px 12px}.cod-filter-heading #cod-range-label{margin-left:0}.cod-filter-heading>div{gap:4px 10px}.cod-filter-fields label{min-width:110px}}

/* Date range control with an anchored picker. */
.cod-date-toolbar{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 24px 20px;padding:0;background:none;border:0;border-radius:0;isolation:isolate;z-index:4}.cod-date-toolbar[hidden]{display:none}.cod-basis-inline{display:flex!important;align-items:center;gap:9px!important;font-size:11px!important;color:#638173}.cod-date-toolbar .cod-basis-inline select{min-height:40px;padding:8px 30px 8px 12px;border-radius:10px;background:#f5faf7;border-color:#d2e1d8;font-size:12px;color:#315d4a}.cod-range-picker{position:relative}.cod-range-picker summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 14px;min-height:40px;box-sizing:border-box;background:#fff;border:1px solid #b6d1c3;border-radius:10px;box-shadow:0 2px 5px #163c2510;color:#244e3c;font-size:12px;font-weight:600}.cod-range-picker summary::-webkit-details-marker{display:none}.cod-range-picker[open] summary{border-color:#08776c;box-shadow:0 0 0 3px #08776c14}.cod-calendar-icon{font-size:20px;color:#08776c;line-height:1}.cod-range-chevron{margin-left:12px;color:#6e9080}.cod-date-popover{position:absolute;top:calc(100% + 9px);left:0;width:360px;max-width:calc(100vw - 90px);padding:20px;background:#fff;border:1px solid #d8e6de;border-radius:16px;box-shadow:0 18px 50px #12382830;z-index:10;box-sizing:border-box}.cod-picker-title{font-size:14px;font-weight:650;color:#254f40;margin-bottom:14px}.cod-date-toolbar .cod-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0;margin-bottom:18px}.cod-date-toolbar .cod-presets button{border-radius:8px;padding:9px;font-size:12px;text-align:left}.cod-custom-range{display:flex;align-items:end;gap:8px;border-top:1px solid #e1ebe5;padding-top:15px}.cod-custom-range label{flex:1;min-width:0;font-size:11px;color:#627b6d}.cod-custom-range input{width:100%;box-sizing:border-box;min-width:0;padding:9px 6px;font-size:12px;border-radius:8px;background:#f8fbf9;color:#244e3c}.cod-custom-range>span{padding-bottom:10px;color:#719280}.cod-picker-hint{font-size:10px;color:#7a9386;margin:12px 0 0}.cod-reset-link{border:0;background:none;color:#637e70;font-size:12px;padding:9px;cursor:pointer}.cod-reset-link:hover{color:#08776c}.cod-filter-live{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:10px;color:#6b8978}.cod-filter-live i{width:6px;height:6px;background:#279c78;border-radius:50%}.cod-date-toolbar #cod-filter-message{flex-basis:100%;margin:0}html[data-theme=night] .cod-date-toolbar{background:none;border:0}html[data-theme=night] .cod-date-popover{background:#1d352a;border-color:#486453}html[data-theme=night] .cod-picker-title,html[data-theme=night] .cod-range-picker summary{color:#daecdf}html[data-theme=night] .cod-range-picker summary,html[data-theme=night] .cod-date-toolbar .cod-basis-inline select,html[data-theme=night] .cod-custom-range input{background:#1d352a;color:#daecdf;border-color:#486453}html[data-theme=night] .cod-custom-range{border-color:#486453}@media(max-width:600px){.cod-date-toolbar{margin:0 16px 18px;gap:8px}.cod-filter-live{display:none}.cod-date-popover{left:auto;right:0}.cod-basis-inline{flex-basis:100%}.cod-range-picker summary{font-size:11px}}

.cod-date-popover .cod-custom-range{border-top:0;padding-top:0}

.branded-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:56px 20px;text-align:center}.boot.branded-loading{min-height:100vh}.flovivo-loader{position:relative;width:176px;height:96px;display:grid;place-items:center}.flovivo-loader img{position:relative;width:132px;height:auto;z-index:1}.loader-orbit{position:absolute;inset:0;border-radius:50%;border:2px solid #08776c18;border-top-color:#08776c;border-right-color:#ff795f;animation:flovivo-orbit 1.6s linear infinite}.loader-orbit:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#ff795f;right:13px;top:10px;box-shadow:0 0 12px #ff795f60}.loader-caption{font-size:12px;letter-spacing:.3px;color:var(--muted)}.loader-dots{animation:flovivo-breathe 1.2s ease-in-out infinite}html[data-theme=night] .flovivo-loader img{filter:brightness(0) invert(1)}@keyframes flovivo-orbit{to{transform:rotate(360deg)}}@keyframes flovivo-breathe{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.loader-orbit,.loader-dots{animation:none}}

.local-weather{font-size:10px;color:var(--muted);white-space:nowrap}.weather-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity 2s;background:none}html[data-weather] .weather-atmosphere{opacity:.2}html[data-weather=clear] .weather-atmosphere{background:radial-gradient(ellipse at 92% 5%,#ffc97870,transparent 55%)}html[data-weather=cloudy] .weather-atmosphere,html[data-weather=mist] .weather-atmosphere{background:radial-gradient(ellipse at 12% 20%,#b1c6d980,transparent 60%)}html[data-weather=night] .weather-atmosphere{background:radial-gradient(ellipse at 95% 8%,#9eb9f080,transparent 55%)}html[data-weather=rain] .weather-atmosphere{background:repeating-linear-gradient(110deg,transparent 0 70px,#8db4bd45 71px,transparent 72px 145px);animation:weather-drift 16s linear infinite}html[data-weather=snow] .weather-atmosphere{background-image:radial-gradient(circle,#d2e8ef 1px,transparent 2px);background-size:100px 120px;animation:weather-drift 25s linear infinite}@keyframes weather-drift{to{background-position:30px 120px}}@media(prefers-reduced-motion:reduce){.weather-atmosphere{animation:none!important;transition:none}}@media(max-width:700px){.local-weather{display:none}}

.weather-demo-label{margin:0}.weather-demo-label select{border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit;padding:7px;font-size:10px;max-width:112px}.weather-atmosphere{z-index:1}html[data-weather-demo=true] .weather-atmosphere{opacity:.36}html[data-weather=mist] .weather-atmosphere{background:linear-gradient(100deg,#c4d9df70,transparent 45%,#d6e3e960);animation:weather-mist 18s ease-in-out infinite alternate}@keyframes weather-mist{to{background-position:120px 0;opacity:.15}}

.weather-demo-dock{position:fixed;right:18px;bottom:16px;z-index:30;display:flex;align-items:center;gap:10px;background:#fff;color:#254f42;padding:9px 12px;border:1px solid #c5dbd0;border-radius:12px;box-shadow:0 5px 24px #12382820;font-size:11px}html[data-theme=night] .weather-demo-dock{background:#1d352a;color:#e0efe7}

/* More expressive atmosphere; effects never capture pointer input. */
.weather-atmosphere{overflow:hidden}html[data-weather] .weather-atmosphere{opacity:.55}html[data-weather-demo=true] .weather-atmosphere{opacity:.75}.weather-atmosphere:before,.weather-atmosphere:after{content:'';position:absolute;pointer-events:none}html[data-weather=clear] .weather-atmosphere{background:radial-gradient(ellipse at 97% 0%,#ffd78595,transparent 55%)}html[data-weather=clear] .weather-atmosphere:before{width:200px;height:200px;right:-65px;top:-70px;border-radius:50%;background:#ffe6a7;box-shadow:0 0 50px 25px #ffc65a70,0 0 150px 80px #ffc65a25;animation:sun-glow 7s ease-in-out infinite alternate}html[data-weather=cloudy] .weather-atmosphere{background:linear-gradient(120deg,#b8cedb25,transparent)}html[data-weather=cloudy] .weather-atmosphere:before,html[data-weather=cloudy] .weather-atmosphere:after{width:450px;height:150px;left:-120px;top:12%;border-radius:50%;background:#e4eef078;filter:blur(28px);box-shadow:180px -25px 20px #cfdee963,350px 40px 40px #c4d7e44f;animation:cloud-flow 35s ease-in-out infinite alternate}html[data-weather=cloudy] .weather-atmosphere:after{top:65%;left:60%;animation-direction:alternate-reverse}html[data-weather=rain] .weather-atmosphere{background:repeating-linear-gradient(108deg,transparent 0 95px,#8ac4d54d 96px,#8ac4d54d 97px,transparent 98px 180px);animation:rain-fall 1.3s linear infinite}html[data-weather=rain] .weather-atmosphere:before{inset:0;background:repeating-linear-gradient(108deg,transparent 0 160px,#b6dce563 161px,transparent 162px 240px);animation:rain-fall .85s linear infinite}html[data-weather=snow] .weather-atmosphere{background-image:radial-gradient(circle,#fff 2px,transparent 3px),radial-gradient(circle,#cee7ef 1.5px,transparent 2.5px);background-size:145px 150px,90px 110px;background-position:0 0,35px 65px;animation:snow-fall 13s linear infinite}html[data-weather=snow] .weather-atmosphere:before{inset:0;background-image:radial-gradient(circle,#d6eaf6cc 3px,transparent 4px);background-size:240px 210px;animation:snow-fall 19s linear infinite}html[data-weather=night] .weather-atmosphere{background:radial-gradient(ellipse at 95% 0%,#829ecb60,transparent 55%)}html[data-weather=night] .weather-atmosphere:before{width:95px;height:95px;right:35px;top:100px;border-radius:50%;box-shadow:-18px 9px 0 0 #d8e6ffb0;transform:rotate(-20deg)}html[data-weather=night] .weather-atmosphere:after{inset:0;background-image:radial-gradient(circle,#c3d9ffcc 1px,transparent 2px);background-size:190px 165px;mask-image:linear-gradient(#000,transparent 65%);animation:star-glow 5s ease-in-out infinite alternate}html[data-weather=mist] .weather-atmosphere{background:linear-gradient(115deg,#d1e3ed65,transparent 45%,#dce9ef60);animation:cloud-flow 30s ease-in-out infinite alternate}@keyframes rain-fall{to{background-position:-70px 240px}}@keyframes snow-fall{to{background-position:90px 330px,125px 395px}}@keyframes cloud-flow{to{transform:translateX(80px)}}@keyframes sun-glow{to{opacity:.7;transform:scale(1.12)}}@keyframes star-glow{to{opacity:.3}}@media(prefers-reduced-motion:reduce){.weather-atmosphere,.weather-atmosphere:before,.weather-atmosphere:after{animation:none!important}}

/* Full viewport weather layer above all app surfaces. */
.weather-atmosphere{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:100;pointer-events:none!important}.weather-atmosphere:before,.weather-atmosphere:after{pointer-events:none!important}html[data-weather=clear] .weather-atmosphere{background:radial-gradient(ellipse at 95% 0%,#ffd78585,transparent 65%),linear-gradient(135deg,#ffdc8015,transparent 60%)}html[data-weather=night] .weather-atmosphere{background:radial-gradient(ellipse at 95% 0%,#829ecb55,transparent 65%)}html[data-weather=night] .weather-atmosphere:after{mask-image:none;background-size:190px 165px}html[data-weather=cloudy] .weather-atmosphere{background:radial-gradient(ellipse at 5% 15%,#cfdee940,transparent 50%),radial-gradient(ellipse at 95% 85%,#cfdee940,transparent 50%)}html[data-weather=cloudy] .weather-atmosphere:before{left:-200px;width:70vw;top:5%}html[data-weather=cloudy] .weather-atmosphere:after{left:35%;width:75vw;top:75%}html[data-weather=mist] .weather-atmosphere{inset:-80px;width:calc(100vw + 160px);height:calc(100dvh + 160px)}.weather-demo-dock{z-index:110}

/* Strong atmosphere behind the workspace, faint texture over surfaces. */
.weather-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:0;transition:opacity 1s}html[data-weather] .weather-backdrop{opacity:1}#app-view{position:relative;z-index:1}html[data-weather] .weather-atmosphere{opacity:.22}html[data-weather-demo=true] .weather-atmosphere{opacity:.3}.weather-backdrop:before,.weather-backdrop:after{content:'';position:absolute;inset:0;pointer-events:none}html[data-weather=clear] .weather-backdrop{background:radial-gradient(ellipse at 90% 5%,#ffc04dcc,transparent 65%),linear-gradient(135deg,#fff1c7,#e7f3ed)}html[data-weather=clear] .weather-backdrop:before{background:conic-gradient(from 20deg at 95% 0%,transparent,#ffde8c55,transparent 18%,#ffde8c55 24%,transparent 36%);animation:sun-glow 8s ease-in-out infinite alternate}html[data-weather=cloudy] .weather-backdrop{background:linear-gradient(145deg,#9cbbce,#dae7eb 55%,#a9c8ca)}html[data-weather=cloudy] .weather-backdrop:before{inset:-100px;background:radial-gradient(ellipse at 15% 20%,#fff9,transparent 35%),radial-gradient(ellipse at 80% 70%,#e9f3f6cc,transparent 40%);filter:blur(25px);animation:cloud-flow 20s ease-in-out infinite alternate}html[data-weather=rain] .weather-backdrop{background:linear-gradient(145deg,#627f96,#b1c6d1 50%,#759a9d)}html[data-weather=rain] .weather-backdrop:before{background:repeating-linear-gradient(108deg,transparent 0 48px,#e0f7ff95 49px,transparent 51px 95px);animation:rain-fall .8s linear infinite}html[data-weather=snow] .weather-backdrop{background:linear-gradient(135deg,#a9c9df,#e4f3f7 55%,#bed9e8)}html[data-weather=snow] .weather-backdrop:before{background-image:radial-gradient(circle,#fff 3px,transparent 4px),radial-gradient(circle,#fff 2px,transparent 3px);background-size:100px 130px,65px 85px;animation:snow-fall 10s linear infinite}html[data-weather=mist] .weather-backdrop{background:linear-gradient(120deg,#acc3ce,#e3eaeb 50%,#b6cbd0)}html[data-weather=mist] .weather-backdrop:before{inset:-100px;background:repeating-linear-gradient(170deg,transparent,#ffffff90 20%,transparent 40%);filter:blur(20px);animation:cloud-flow 15s ease-in-out infinite alternate}html[data-weather=night] .weather-backdrop{background:radial-gradient(ellipse at 85% 10%,#344e7c,#182e43 55%,#142f33)}html[data-weather=night] .weather-backdrop:before{background-image:radial-gradient(circle,#d8eaffdd 1.5px,transparent 2.5px);background-size:110px 125px;animation:star-glow 6s ease-in-out infinite alternate}html[data-weather] .dashboard{background-color:transparent}html[data-weather] .panel{backdrop-filter:blur(8px)}@media(prefers-reduced-motion:reduce){.weather-backdrop,.weather-backdrop:before,.weather-backdrop:after{animation:none!important;transition:none}}

/* Expose the weather scene: the previous opaque app artwork hid it. */
html[data-weather] #app-view{background:transparent}html[data-weather] #app-view:before{background:linear-gradient(110deg,#06231d82,#08292118 65%);opacity:1}html[data-weather] .page-heading,html[data-weather] .breadcrumb{position:relative;text-shadow:0 1px 10px #001c1bb0}html[data-weather] .page-heading{background:linear-gradient(90deg,#092e2960,transparent);border-radius:20px}html[data-weather] .panel{background:#f5faf7ed;box-shadow:0 15px 50px #122e3530}html[data-theme=night][data-weather] .panel{background:#102b23ed}html[data-weather=clear] .weather-backdrop{background:radial-gradient(circle at 83% 22%,#fff6ca 0 4%,#ffd16a 4.2%,#d8933540 15%,transparent 42%),linear-gradient(145deg,#4d9fb0,#a9c4ab 65%,#d1ac68)}html[data-weather=rain] .weather-backdrop{background:radial-gradient(ellipse at 25% 0%,#273f57,transparent 70%),linear-gradient(145deg,#3e657e,#678c9f 55%,#355d65)}html[data-weather=rain] .weather-backdrop:after{background:radial-gradient(ellipse at 25% 0%,#cad7e940,transparent 48%);filter:blur(25px)}html[data-weather=cloudy] .weather-backdrop{background:linear-gradient(160deg,#617f94,#a7bdc9 60%,#709eaa)}html[data-weather=cloudy] .weather-backdrop:after{inset:10% -20%;background:radial-gradient(ellipse at 10% 20%,#fff9 0 10%,transparent 25%),radial-gradient(ellipse at 80% 50%,#e9f3f6b0 0 12%,transparent 30%);filter:blur(25px);animation:cloud-flow 30s ease-in-out infinite alternate-reverse}html[data-weather=night] .weather-backdrop:after{inset:0;background:radial-gradient(circle at 85% 27%,#edf3ff 0 3%,#a5c5ff40 3.2%,transparent 15%),radial-gradient(ellipse at 60% 90%,#278f7e50,transparent 60%)}html[data-weather] .weather-atmosphere{opacity:.16}html[data-weather-demo=true] .weather-atmosphere{opacity:.26}

/* Layered rain particles replace the repeating diagonal pattern. */
html[data-weather=rain] .weather-atmosphere{background:none;animation:none}html[data-weather=rain] .weather-atmosphere:before{background:none;animation:none}html[data-weather=rain] .weather-backdrop:before{background:radial-gradient(ellipse at 15% 0%,#aec3db30,transparent 50%),radial-gradient(ellipse at 90% 90%,#b3d2d84a,transparent 45%);animation:cloud-flow 22s ease-in-out infinite alternate}html[data-weather=rain] .weather-backdrop:after{inset:-10%;background:radial-gradient(ellipse at 50% 95%,#bed5dd55,transparent 40%);filter:blur(20px);animation:rain-haze 14s ease-in-out infinite alternate}.weather-rain{display:none;position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:99}html[data-weather=rain] .weather-rain{display:block}.rain-drop{position:absolute;left:var(--x);top:-70px;width:1px;height:var(--length);background:linear-gradient(transparent,#dbf2ffb0);border-radius:50%;animation:rain-particle var(--speed) var(--delay) linear infinite;will-change:transform}.rain-drop-0{opacity:.25;filter:blur(.5px);width:1px}.rain-drop-1{opacity:.5}.rain-drop-2{opacity:.7;width:1.5px;filter:drop-shadow(0 0 2px #cee5f555)}@keyframes rain-particle{from{transform:translate3d(0,-60px,0) rotate(12deg)}to{transform:translate3d(-130px,calc(100vh + 100px),0) rotate(12deg)}}@keyframes rain-haze{to{transform:translateX(5%);opacity:.5}}@media(prefers-reduced-motion:reduce){.weather-rain{display:none!important}.weather-backdrop:after{animation:none!important}}

html[data-rain-intensity=light] .rain-drop:nth-child(n+26){display:none}html[data-rain-intensity=light] .rain-drop{animation-duration:calc(var(--speed)*1.4);opacity:.3}html[data-rain-intensity=moderate] .rain-drop:nth-child(n+61){display:none}html[data-rain-intensity=moderate] .rain-drop{animation-duration:var(--speed)}html[data-rain-intensity=heavy] .rain-drop{animation-duration:calc(var(--speed)*.65);height:calc(var(--length)*1.3)}html[data-rain-intensity=heavy] .weather-backdrop{filter:brightness(.85)}html[data-rain-intensity=light] .weather-backdrop:after{opacity:.3}

.weather-report{position:relative}.weather-report summary{display:block!important;cursor:pointer;list-style:none;padding:8px 10px;background:#eef6f2;border:1px solid #dce8e1;border-radius:8px;color:#426957;font-size:11px}.weather-report summary::-webkit-details-marker{display:none}.weather-report-card{position:absolute;right:0;top:calc(100% + 10px);width:270px;padding:18px;background:#fff;border:1px solid #d2e3d8;border-radius:14px;box-shadow:0 14px 40px #12382830;z-index:120;color:#254f40}.weather-report-card>strong{font-size:14px}.weather-report-card>p{font-size:12px;color:#678572;margin:8px 0 14px}.weather-report-card dl{margin:0}.weather-report-card dl>div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid #edf3ef;font-size:11px}.weather-report-card dt{color:#6b8577}.weather-report-card dd{margin:0;font-weight:600}.weather-report-card small{display:block;font-size:10px;line-height:1.6;color:#81988a;margin-top:12px}html[data-theme=night] .weather-report-card{background:#1d352a;color:#e0efe7;border-color:#486453}html[data-theme=night] .weather-report summary{background:#234333;color:#c4dfcf;border-color:#486453}

/* Rain keeps the original Flovivo palette and artwork. */
html[data-weather=rain] #app-view{background:#092a25}html[data-weather=rain] #app-view:before{background:linear-gradient(110deg,#06231deb,#08292195 58%,#09251e65),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-theme=night][data-weather=rain] #app-view:before{background:linear-gradient(110deg,#03120ff2,#051b16d9 58%,#041711b3),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-weather=rain] .weather-backdrop{background:none;filter:none;opacity:0}html[data-weather=rain] .page-heading{background:none;text-shadow:none}html[data-weather=rain] .breadcrumb{text-shadow:none}html[data-weather=rain] .panel{background:#f5faf7ed;box-shadow:0 8px 25px #00000012}html[data-theme=night][data-weather=rain] .panel{background:#102b23ed;box-shadow:0 8px 25px #0003}

/* Sunny: warm sunlight through the Flovivo scene, without a flat sun disc. */
html[data-weather=clear] #app-view{background:#092a25}html[data-weather=clear] #app-view:before{background:linear-gradient(110deg,#06231deb,#08292195 58%,#09251e65),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-theme=night][data-weather=clear] #app-view:before{background:linear-gradient(110deg,#03120ff2,#051b16d9 58%,#041711b3),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-weather=clear] .weather-backdrop{background:none;opacity:0}html[data-weather=clear] .page-heading{background:none;text-shadow:none}html[data-weather=clear] .breadcrumb{text-shadow:none}html[data-weather=clear] .weather-atmosphere{background:radial-gradient(ellipse at 100% 0%,#ffe2a366,transparent 55%);opacity:.45}html[data-weather=clear] .weather-atmosphere:before{inset:-30% -35% -20% 10%;width:auto;height:auto;border-radius:0;box-shadow:none;background:conic-gradient(from 185deg at 95% 0%,transparent 0deg,#ffe3a438 8deg,transparent 15deg,#fff0c747 23deg,transparent 31deg,#ffe3a42b 40deg,transparent 49deg);transform-origin:95% 0%;filter:blur(8px);animation:flovivo-sunbeams 18s ease-in-out infinite alternate}html[data-weather=clear] .weather-atmosphere:after{inset:0;background-image:radial-gradient(circle,#ffedc49c 1px,transparent 2px),radial-gradient(circle,#fff2cc70 1.5px,transparent 2.5px);background-size:210px 190px,330px 270px;mask-image:linear-gradient(120deg,transparent 25%,#000);animation:flovivo-sun-dust 28s linear infinite}@keyframes flovivo-sunbeams{from{transform:rotate(-5deg);opacity:.6}to{transform:rotate(6deg);opacity:1}}@keyframes flovivo-sun-dust{to{background-position:70px -110px,-35px -70px}}@media(prefers-reduced-motion:reduce){html[data-weather=clear] .weather-atmosphere:before,html[data-weather=clear] .weather-atmosphere:after{animation:none}}

/* Cloudy: layered passing clouds over the original Flovivo artwork. */
html[data-weather=cloudy] #app-view{background:#092a25}html[data-weather=cloudy] #app-view:before{background:linear-gradient(110deg,#06231deb,#08292195 58%,#09251e65),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-theme=night][data-weather=cloudy] #app-view:before{background:linear-gradient(110deg,#03120ff2,#051b16d9 58%,#041711b3),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-weather=cloudy] .weather-backdrop{background:none;opacity:0}html[data-weather=cloudy] .page-heading{background:none;text-shadow:none}html[data-weather=cloudy] .breadcrumb{text-shadow:none}html[data-weather=cloudy] .weather-atmosphere{background:none;opacity:.5}html[data-weather=cloudy] .weather-atmosphere:before{inset:-15% -25% 30%;width:auto;height:auto;border-radius:0;box-shadow:none;background:radial-gradient(ellipse at 12% 30%,#e4f0ed70 0 10%,transparent 27%),radial-gradient(ellipse at 35% 18%,#d5e9e668 0 13%,transparent 32%),radial-gradient(ellipse at 66% 28%,#ecf4f05c 0 10%,transparent 29%),radial-gradient(ellipse at 92% 10%,#d3e4e350 0 12%,transparent 30%);filter:blur(22px);animation:flovivo-cloud-high 36s ease-in-out infinite alternate}html[data-weather=cloudy] .weather-atmosphere:after{inset:30% -30% -25%;width:auto;height:auto;border-radius:0;box-shadow:none;background:radial-gradient(ellipse at 20% 70%,#c9ded540 0 10%,transparent 30%),radial-gradient(ellipse at 70% 60%,#eff5ec45 0 9%,transparent 30%);filter:blur(35px);animation:flovivo-cloud-low 48s ease-in-out infinite alternate}@keyframes flovivo-cloud-high{from{transform:translate3d(-7%,0,0)}to{transform:translate3d(9%,4%,0)}}@keyframes flovivo-cloud-low{from{transform:translate3d(8%,0,0);opacity:.5}to{transform:translate3d(-9%,-5%,0);opacity:.9}}@media(prefers-reduced-motion:reduce){html[data-weather=cloudy] .weather-atmosphere:before,html[data-weather=cloudy] .weather-atmosphere:after{animation:none}}

/* All weather modes preserve the established Flovivo theme. */
html[data-weather] #app-view{background:#092a25}html[data-weather] #app-view:before{background:linear-gradient(110deg,#06231deb,#08292195 58%,#09251e65),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-theme=night][data-weather] #app-view:before{background:linear-gradient(110deg,#03120ff2,#051b16d9 58%,#041711b3),url('/assets/flovivo-motion-bg.png') center/cover no-repeat}html[data-weather] .weather-backdrop{background:none;filter:none;opacity:0}html[data-weather] .page-heading{background:none;text-shadow:none}html[data-weather] .breadcrumb{text-shadow:none}html[data-weather] .weather-atmosphere{background:none}html[data-weather] .panel{background:#f5faf7ed;box-shadow:0 8px 25px #00000012}html[data-theme=night][data-weather] .panel{background:#102b23ed;box-shadow:0 8px 25px #0003}
/* Clearly shaped cloud banks at the edges, rather than a full-screen wash. */
html[data-weather=cloudy] .weather-atmosphere{opacity:1}html[data-weather=cloudy] .weather-atmosphere:before{inset:auto;top:110px;left:-180px;width:580px;height:160px;background:radial-gradient(ellipse at 22% 70%,#edf7f2c4 0 22%,transparent 24%),radial-gradient(ellipse at 45% 48%,#e4efedbd 0 30%,transparent 32%),radial-gradient(ellipse at 72% 70%,#d7e7e3ad 0 23%,transparent 25%);filter:blur(9px);animation:flovivo-visible-cloud 32s ease-in-out infinite alternate}html[data-weather=cloudy] .weather-atmosphere:after{inset:auto;bottom:8%;right:-200px;width:650px;height:190px;background:radial-gradient(ellipse at 22% 70%,#e9f1ed99 0 23%,transparent 25%),radial-gradient(ellipse at 48% 47%,#d8e8e3a0 0 29%,transparent 31%),radial-gradient(ellipse at 76% 72%,#edf7f291 0 24%,transparent 26%);filter:blur(12px);animation:flovivo-visible-cloud 43s ease-in-out infinite alternate-reverse}@keyframes flovivo-visible-cloud{from{transform:translateX(-45px);opacity:.5}to{transform:translateX(110px);opacity:.8}}@media(prefers-reduced-motion:reduce){html[data-weather=cloudy] .weather-atmosphere:before,html[data-weather=cloudy] .weather-atmosphere:after{animation:none}}

/* Sculpted edge clouds with a soft underside and no fog over content. */
html[data-weather=cloudy] .weather-atmosphere{opacity:.75}html[data-weather=cloudy] .weather-atmosphere:before{top:148px;left:auto;right:-170px;width:430px;height:150px;background:radial-gradient(ellipse at 75% 85%,#b6cfca66 0 25%,transparent 27%),radial-gradient(ellipse at 27% 68%,#edf5efa3 0 20%,transparent 22%),radial-gradient(ellipse at 48% 45%,#f0f7f2b3 0 27%,transparent 29%),radial-gradient(ellipse at 69% 61%,#dcece5ad 0 26%,transparent 28%),radial-gradient(ellipse at 51% 83%,#d3e5dd99 0 38%,transparent 40%);filter:blur(2px) drop-shadow(0 9px 12px #072e2533);animation:cloud-edge-right 38s ease-in-out infinite alternate}html[data-weather=cloudy] .weather-atmosphere:after{bottom:10px;right:auto;left:-190px;width:480px;height:155px;background:radial-gradient(ellipse at 30% 85%,#b6cfca5c 0 23%,transparent 25%),radial-gradient(ellipse at 26% 60%,#dcece599 0 22%,transparent 24%),radial-gradient(ellipse at 50% 42%,#edf5efa3 0 28%,transparent 30%),radial-gradient(ellipse at 73% 68%,#dcece58c 0 22%,transparent 24%),radial-gradient(ellipse at 50% 82%,#d3e5dd80 0 38%,transparent 40%);filter:blur(3px) drop-shadow(0 8px 12px #072e2526);animation:cloud-edge-left 45s ease-in-out infinite alternate}@keyframes cloud-edge-right{from{transform:translate3d(30px,0,0);opacity:.55}to{transform:translate3d(-65px,8px,0);opacity:.85}}@keyframes cloud-edge-left{from{transform:translate3d(-20px,10px,0);opacity:.5}to{transform:translate3d(75px,-8px,0);opacity:.8}}@media(prefers-reduced-motion:reduce){html[data-weather=cloudy] .weather-atmosphere:before,html[data-weather=cloudy] .weather-atmosphere:after{animation:none}}

/* Readable data typography with content-sized, closely spaced columns. */
#app-view .table-scroll table{width:max-content;min-width:0;max-width:none;table-layout:auto;border-spacing:0}#app-view .table-scroll th{font-size:12px;font-weight:700;letter-spacing:.2px;color:#294b3f;padding:11px 10px;line-height:1.45}#app-view .table-scroll td{font-size:14px;font-weight:500;color:#1f3b30;padding:11px 10px;line-height:1.5}#app-view .table-scroll td:first-child{color:#183d30;font-weight:600}#app-view .table-scroll .status-chip{font-size:12px;font-weight:600}#app-view .tracking-link{font-size:14px;font-weight:650;color:#00695c}#app-view .panel-heading p,#app-view .table-footer,#app-view .pagination-top-wrap{font-size:13px;color:#496456}#app-view .nav-item{font-size:13px}#app-view .table-actions input,#app-view .outline-button{font-size:13px}html[data-theme=night] #app-view .table-scroll th{color:#d0e8d9}html[data-theme=night] #app-view .table-scroll td,html[data-theme=night] #app-view .table-scroll td:first-child{color:#e4f1e9}html[data-theme=night] #app-view .tracking-link{color:#8ee5ce}html[data-theme=night] #app-view .panel-heading p,html[data-theme=night] #app-view .table-footer,html[data-theme=night] #app-view .pagination-top-wrap{color:#bdd4c6}

/* One renderer replaces the accumulated CSS weather animations. */
.weather-atmosphere,.weather-backdrop,.weather-rain{display:none!important}.weather-scene-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:98;pointer-events:none}.weather-report{z-index:120}.weather-demo-dock{z-index:120}

.user-identity #user-role,.user-identity #profile-user-id{display:block;font-size:11px;line-height:1.6;color:#426454}.user-identity #profile-user-id{overflow-wrap:anywhere;max-width:260px}html[data-theme=night] .user-identity #user-role,html[data-theme=night] .user-identity #profile-user-id{color:#bad7c8}

.user-identity{position:relative;cursor:default}.profile-hover-details{display:none;position:absolute;top:100%;right:0;min-width:210px;max-width:320px;padding:12px 15px;background:#fff;border:1px solid #cddfd4;border-radius:10px;box-shadow:0 10px 30px #12382826;z-index:130}.user-identity:hover .profile-hover-details,.user-identity:focus-within .profile-hover-details{display:block}.user-identity #profile-user-id{max-width:none}html[data-theme=night] .profile-hover-details{background:#1d352a;border-color:#486453}@media(hover:none){.user-identity:focus .profile-hover-details{display:block}}

/* Compact sign-in panel: give the brand artwork more room. */
@media(min-width:901px){#login-view{grid-template-columns:minmax(0,1fr) minmax(370px,440px)}.login-panel{padding:28px 32px 20px}.login-form-wrap{max-width:350px;padding:28px 0 24px}.login-top{gap:10px}.login-logo{width:130px}.workspace-tag{font-size:7px;padding:7px}.login-story{min-height:100vh}.login-form-wrap h2{font-size:27px}.login-subtitle{margin-bottom:24px}}

#email-verification-form h3{font-size:24px;margin-bottom:12px}#email-code-destination,.email-code-note{font-size:12px;color:#557365;line-height:1.7;margin:12px 0 20px}#email-code{font-size:22px;letter-spacing:8px}#email-code-back{margin-top:15px;font-size:12px}

#email-verification-form .verification-back{display:inline-flex;align-items:center;margin:0 0 22px;padding:9px 15px;border:1px solid #c8dcd1;border-radius:8px;background:#edf6f0;color:#214f3c;font-size:13px;font-weight:600}#email-verification-form .verification-back:hover{background:#dceee3}
/* User identity belongs in the header only, on every workspace page. */
.page-heading .workspace-user-type,#workspace-user-type{display:none!important}

.booking-amount-trigger{border:0;border-bottom:1px dotted #518878;background:transparent;color:inherit;padding:3px 0;font:inherit;font-weight:600;cursor:help;white-space:nowrap}.booking-amount-trigger:focus-visible{outline:2px solid #168778;outline-offset:3px}.booking-charge-tooltip{position:fixed;z-index:1000;box-sizing:border-box;max-height:min(480px,80vh);overflow:auto;padding:18px 20px;border:1px solid #b5d4c9;border-radius:14px;background:#fffef8;color:#183e33;box-shadow:0 16px 50px #102d3438;font-size:13px;text-transform:none;letter-spacing:normal}.booking-charge-tooltip[hidden]{display:none}.booking-charge-tooltip strong{font-size:14px}.booking-charge-tooltip p{margin:7px 0 10px;color:#526e62;line-height:1.5}.booking-charge-tooltip dl{margin:0}.booking-charge-tooltip dl>div{display:flex;justify-content:space-between;gap:18px;padding:6px 0;border-bottom:1px solid #e6eee8}.booking-charge-tooltip dt{text-transform:capitalize}.booking-charge-tooltip dd{margin:0;font-weight:600;white-space:nowrap}.booking-charge-tooltip .charge-total{font-weight:700;font-size:14px;color:#076b59;border-bottom:0;padding-top:12px}.booking-charge-tooltip .charge-footnote{font-size:11px;margin-bottom:0}html[data-theme=night] .booking-charge-tooltip{background:#1d352a;color:#e3f2e8;border-color:#527361}html[data-theme=night] .booking-charge-tooltip p{color:#bdd2c4}html[data-theme=night] .booking-charge-tooltip .charge-total{color:#8ee0bd}html[data-theme=night] .booking-charge-tooltip dl>div{border-color:#365344}
.report-workspace{padding:24px}.report-upload-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-top:24px}.report-upload-form label{display:grid;gap:8px;font-size:13px;font-weight:600}.report-upload-form select,.report-upload-form input{border:1px solid #b5cfc2;background:#fffef8;border-radius:9px;padding:11px;color:#203f32}.report-upload-form .primary{padding:13px 24px;border:0;border-radius:9px}.report-upload-hint{font-size:12px;color:#587365;margin:12px 0}.report-rules-note{padding:12px 15px;background:#eaf3ed;border:1px solid #d4e6dc;border-radius:10px;font-size:13px}.report-downloads{display:flex;gap:8px;align-items:center}.report-downloads a{text-decoration:none;white-space:nowrap}.report-downloads button:disabled{opacity:.5;cursor:default}.report-preview{border-top:1px solid #d5e5db;margin-top:22px;padding-top:18px}.report-preview td{max-width:300px;overflow:hidden;text-overflow:ellipsis}.report-workspace [role=status]{font-size:13px;min-height:20px}html[data-theme=night] .report-upload-form select,html[data-theme=night] .report-upload-form input{background:#1d352a;color:#e1f0e7;border-color:#567562}html[data-theme=night] .report-rules-note{background:#223e30;border-color:#466454}html[data-theme=night] .report-upload-hint{color:#b5cbbb}
.invoice-data-heading{margin-top:28px;border-top:1px solid #d4e3da;padding-top:22px}.invoice-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0}.invoice-filters label{display:grid;gap:6px;font-size:12px;font-weight:600}.invoice-filters input,.invoice-filters select{padding:10px 12px;border:1px solid #b9d1c4;background:#fffef8;color:#193f33;border-radius:8px;max-width:330px}.invoice-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;padding:15px 0}.invoice-pagination>div{display:flex;align-items:center;gap:12px}.invoice-data-scroll{max-height:560px}.invoice-data-scroll thead th{position:sticky;top:0;z-index:2}.invoice-data-scroll td{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-data-scroll td:first-child,.invoice-data-scroll th:first-child{position:sticky;left:0;background:#f4f9f4;font-weight:700;z-index:1}.invoice-data-scroll th:first-child{z-index:3}html[data-theme=night] .invoice-filters input,html[data-theme=night] .invoice-filters select{background:#1d352a;color:#e1f0e7;border-color:#567562}html[data-theme=night] .invoice-data-scroll td:first-child,html[data-theme=night] .invoice-data-scroll th:first-child{background:#1d352a}.report-upload-form .primary{width:auto}@media(max-width:760px){.invoice-pagination{align-items:start;flex-direction:column}.invoice-filters label,.invoice-filters select,.invoice-filters input{width:100%;max-width:100%}}
.invoice-failure-card{margin-top:26px;padding:20px;border:1px solid #e7c5af;background:#fff8f0;border-radius:14px}.invoice-failure-card .panel-heading{margin-bottom:12px}.invoice-failure-card h3{margin:0 0 7px}.invoice-failure-card p{font-size:12px;margin:0;color:#805542}.invoice-failure-badge{padding:7px 12px;border-radius:20px;background:#f5dfce;color:#81422a;font-weight:700;font-size:12px;white-space:nowrap}.invoice-failed-number{color:#a03c24;font-weight:700}#invoice-upload-status .outline-button{display:inline-block;margin-left:8px;text-decoration:none}html[data-theme=night] .invoice-failure-card{background:#352d25;border-color:#785744}html[data-theme=night] .invoice-failure-card p{color:#dfbfa8}html[data-theme=night] .invoice-failure-badge{background:#664536;color:#ffe4cc}html[data-theme=night] .invoice-failed-number{color:#ffba9a}
#invoice-upload-progress{display:block;width:min(600px,100%);height:12px;accent-color:#08776c;margin-top:15px}#invoice-upload-progress[hidden]{display:none}.invoice-jobs{margin:20px 0;padding:16px;border:1px solid #c2dccd;background:#eef6ef;border-radius:12px}.invoice-jobs h3{font-size:15px;margin:0 0 12px}.invoice-job{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #d5e7dc;font-size:12px}.invoice-job strong{max-width:340px;overflow-wrap:anywhere}.invoice-job span{color:#456750}html[data-theme=night] .invoice-jobs{background:#203b2c;border-color:#486651}html[data-theme=night] .invoice-job{border-color:#45614e}html[data-theme=night] .invoice-job span{color:#b7d2c0}

.invoice-result-dialog{width:min(580px,92vw);max-height:85vh;overflow:auto;padding:28px;border:1px solid #c8e0d2;border-radius:20px;background:#fbfefc;color:#173f35;box-shadow:0 28px 90px #001d1966}.invoice-result-dialog::backdrop{background:#041e18aa;backdrop-filter:blur(5px)}.invoice-result-dialog h2{margin:0 0 20px}.invoice-result-item{padding:16px 0;border-top:1px solid #c8e0d2}.invoice-result-item h3{overflow-wrap:anywhere;margin:0 0 16px;font-size:16px}.invoice-result-item p{font-size:14px;line-height:1.6}.invoice-result-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoice-result-counts>div{padding:16px;border-radius:12px;background:#e8f4ed;display:grid;gap:6px}.invoice-result-counts strong{font-size:30px}.invoice-result-counts span{font-size:13px}.invoice-result-error{padding:14px;background:#fff0db;border-radius:10px;color:#754817}.invoice-result-dialog>.primary{margin-top:18px}html[data-theme=night] .invoice-result-dialog{background:#102b23;color:#e1f3e7;border-color:#426453}html[data-theme=night] .invoice-result-counts>div{background:#214a3a}

.invoice-error-fields{display:grid;grid-template-columns:75px 1fr;gap:10px;font-size:14px}.invoice-error-fields dt{font-weight:700}.invoice-error-fields dd{margin:0;overflow-wrap:anywhere}

.invoice-history-dates{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0}.invoice-history-dates label{display:flex;align-items:center;gap:8px}.invoice-history-dates small{width:100%;opacity:.8}

.invoice-loading-dialog{text-align:center;max-width:440px;padding:36px}.invoice-loading-dialog p{line-height:1.6;overflow-wrap:anywhere}.invoice-loading-spinner{width:54px;height:54px;margin:0 auto 24px;border:4px solid #c9e4d6;border-top-color:#26765b;border-radius:50%;animation:invoice-loading-spin .8s linear infinite}.invoice-loading-dialog h2{font-size:24px}html[data-theme=night] .invoice-loading-spinner{border-color:#345c4b;border-top-color:#9bdfb8}@keyframes invoice-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.invoice-loading-spinner{animation-duration:2s}}

.reports-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,360px));gap:24px;padding:12px 0}.report-entry-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:16px;padding:30px;border:1px solid #b9d4c5;border-radius:20px;background:linear-gradient(135deg,#f6fcf8,#e3f1e9);color:#173f35;box-shadow:0 8px 25px #123b2910;cursor:pointer;transition:transform .18s,box-shadow .18s}.report-entry-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #123b2925}.report-entry-card h2{margin:0;font-size:23px}.report-entry-card p{margin:0;line-height:1.65;font-size:15px}.report-entry-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#205a43;color:white;font-size:30px}.report-entry-link{font-weight:700;font-size:14px}.invoice-back{margin-bottom:24px}#report-workspace .report-upload-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:20px;padding:20px;border:1px solid #b9d4c5;border-radius:14px;margin-top:20px}#report-workspace .report-upload-hint{font-size:12px;line-height:1.7;margin:12px 0 24px}#report-workspace .invoice-history-dates{border-top:1px solid #b9d4c5;margin-top:28px;padding-top:24px}#report-workspace .invoice-data-heading{margin-top:32px;padding-top:24px;border-top:1px solid #b9d4c5}#invoice-history .report-downloads{display:flex;gap:8px;flex-wrap:wrap;min-width:240px}html[data-theme=night] .report-entry-card{background:linear-gradient(135deg,#163d2e,#102b23);color:#e1f3e7;border-color:#426453}@media(max-width:650px){#report-workspace .report-upload-form{grid-template-columns:1fr}.report-entry-card{padding:24px}}

#report-workspace .date-range-selected{background:#205a43;color:#fff;border-color:#205a43;box-shadow:inset 0 2px 4px #102f2940;font-weight:700}html[data-theme=night] #report-workspace .date-range-selected{background:#a4dfbd;color:#103426;border-color:#a4dfbd}

.invoice-column-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0;font-size:13px}.invoice-column-filters input{width:100%;min-width:115px;max-width:240px;box-sizing:border-box;font-size:13px;padding:8px;border:1px solid #a6c5b4;border-radius:7px;background:#fff;color:#173f35}html[data-theme=night] .invoice-column-filters input{background:#143a2c;color:#e1f3e7;border-color:#527761}

/* Keep browser autofill legible and the sign-in form within shorter windows. */
#login-view .input-wrap input{color:#122525;caret-color:#122525;min-height:30px}
#login-view .input-wrap input:-webkit-autofill,
#login-view .input-wrap input:-webkit-autofill:hover,
#login-view .input-wrap input:-webkit-autofill:focus{
 -webkit-text-fill-color:#122525!important;
 -webkit-box-shadow:0 0 0 1000px #f7faf9 inset!important;
 box-shadow:0 0 0 1000px #f7faf9 inset!important;
 caret-color:#122525;
}
@media(min-width:901px) and (max-height:780px){
 #login-view .login-panel{padding:20px 30px 16px}
 #login-view .login-form-wrap{padding:16px 0;max-width:350px}
 #login-view .lock-icon{width:34px;height:34px;margin-bottom:16px}
 #login-view .login-subtitle{margin-bottom:20px}
 #login-view .input-wrap{height:48px;margin-bottom:16px}
 #login-view .login-bottom{padding-top:12px}
 #login-view .need-access{margin-top:16px}
 #login-view .story-copy{padding-top:30px;padding-bottom:30px}
}

.invoice-mapping-panel{border:1px solid #accaba;border-radius:12px;padding:16px;margin:18px 0}.invoice-mapping-panel summary{font-weight:700;cursor:pointer}.invoice-mapping-form{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:18px 0}.invoice-mapping-form label{display:grid;gap:7px;flex:1;min-width:180px}.invoice-mapping-form input{padding:11px;border:1px solid #accaba;border-radius:8px;background:#fff;color:#173f35}html[data-theme=night] .invoice-mapping-form input{background:#163d2e;color:#e1f3e7}

.screen-action-progress{position:fixed;right:24px;bottom:24px;z-index:9999;display:flex;align-items:center;gap:16px;background:#f7fcf9;color:#173f35;border:1px solid #96bea8;border-radius:16px;padding:14px 22px;box-shadow:0 10px 40px #032b2040;pointer-events:none;max-width:calc(100vw - 32px)}.screen-action-progress .flovivo-loader{width:65px;height:50px;margin:0}.screen-action-progress .flovivo-loader img{width:52px}.action-progress-caption{font-size:14px;font-weight:600}html[data-theme=night] .screen-action-progress{background:#15382a;color:#e1f3e7;border-color:#527761}

.invoice-result-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-result-counts strong{font-size:27px}@media(max-width:420px){.invoice-result-counts{gap:6px}.invoice-result-counts>div{padding:10px}.invoice-result-counts span{font-size:11px}}

.billing-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:12px 0}.billing-card-grid .report-entry-card{height:100%}@media(max-width:900px){.billing-card-grid{grid-template-columns:1fr}}

.billing-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

.final-billing-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:22px 0}.final-billing-toolbar label{display:grid;gap:7px}.final-billing-toolbar input,.final-billing-toolbar select{padding:10px;border:1px solid #a9c7b6;border-radius:8px;background:#fff;color:#173f35}.final-presets{display:flex;gap:6px;flex-wrap:wrap}.final-presets button{padding:11px 13px;border:1px solid #b6cfbf;background:#edf5ef;border-radius:8px;color:#244e3a}.final-presets button[aria-pressed=true]{background:#205a43;color:white;border-color:#205a43}.final-billing-scroll{max-height:65vh}.final-billing-scroll td,.final-billing-scroll th{white-space:nowrap}.final-billing-scroll th{background:#edf5ef}.final-billing-scroll thead tr:first-child th{position:sticky;top:0;z-index:3}.final-billing-scroll thead tr:nth-child(2) th{position:sticky;top:40px;z-index:3}.final-billing-scroll .final-awb{position:sticky;left:0;z-index:2;background:#f2f8f3!important}.final-billing-scroll thead .final-awb{z-index:5!important}html[data-theme=night] .final-billing-toolbar input,html[data-theme=night] .final-billing-toolbar select,html[data-theme=night] .final-billing-scroll th,html[data-theme=night] .final-billing-scroll .final-awb{background:#183d2e!important;color:#e1f3e7}

#billing-workspace .final-presets button[aria-pressed=false]{background:transparent!important;color:#456654!important;border:1px solid #a8c4b3!important;box-shadow:none!important;font-weight:500}
#billing-workspace .final-presets button[aria-pressed=true]{background:#205a43!important;color:#fff!important;border:1px solid #205a43!important;box-shadow:0 3px 9px #103a2925!important;font-weight:750}
html[data-theme=night] #billing-workspace .final-presets button[aria-pressed=false]{background:transparent!important;color:#c4ddce!important;border-color:#698976!important}
html[data-theme=night] #billing-workspace .final-presets button[aria-pressed=true]{background:#a4dfbd!important;color:#103426!important;border-color:#a4dfbd!important}

.invoice-draft-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:20px 0}.invoice-draft-totals>div{padding:16px;border:1px solid #adc8b8;border-radius:12px;display:grid;gap:8px}.invoice-draft-totals span{font-size:12px}.invoice-draft-totals strong{font-size:20px}#invoice-preview{margin-top:20px}

.invoice-bulk-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0}.invoice-bulk-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.invoice-bulk-toolbar span{font-size:12px}.invoice-bulk-toolbar input[type=date],[data-invoice-number]{padding:10px;border:1px solid #a6c5b4;border-radius:8px;background:#fff;color:#173f35}html[data-theme=night] [data-invoice-number]{background:#183d2e;color:#e1f3e7}

.invoice-entries-page{margin:24px;padding:26px;background:#f7fbf8;color:#183b2e;border:1px solid #ceddd2;border-radius:20px}.invoice-entries-page .table-scroll{margin-top:20px;max-height:75vh;overflow:auto}.invoice-entries-page th{position:sticky;top:0;background:#e9f3ec}.invoice-entries-page td{white-space:nowrap}.invoice-entries-page h1{font-size:24px;overflow-wrap:anywhere}

.invoice-loading-dialog .flovivo-loader{margin:0 auto 24px}

.invoice-result-dialog form label{display:grid;gap:7px;margin:16px 0}.invoice-result-dialog form input,.invoice-result-dialog form textarea,.invoice-result-dialog form select{width:100%;padding:11px 12px;border:1px solid #a9c7b6;border-radius:8px;font:inherit;background:#fff;color:#173f35}.invoice-result-dialog form textarea{min-height:80px;resize:vertical}.invoice-result-dialog form button{margin:12px 8px 0 0}

/* Rate quotation workspace */
.rate-quote-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:32px;margin:20px 0;border:1px solid #6b9f8866;border-radius:22px;background:linear-gradient(115deg,#103b30,#215b46);color:#f3fff8;box-shadow:0 14px 38px #052d2320}.rate-quote-hero h2{font-size:clamp(24px,2vw,34px);margin:10px 0}.rate-quote-hero p{max-width:630px;color:#d2e8dd}.rate-eyebrow{font-size:11px;letter-spacing:2px;color:#bde4cf}.rate-quote-actions{display:flex;gap:10px;flex-wrap:wrap}.rate-quote-actions .outline-button{background:#eff9f2;color:#164b36}.rate-quote-search{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.rate-quote-search label{display:grid;gap:8px;width:min(520px,75%);font-weight:600}.rate-quote-search input{padding:13px 16px;border:1px solid #8eb8a5;border-radius:12px;background:var(--surface,#fff);color:inherit;font:inherit}.rate-quote-table td{vertical-align:middle;padding:18px 14px}.rate-quote-table small{display:block;margin-top:6px;font-size:12px;opacity:.8}.rate-quote-table td:last-child{white-space:nowrap}.rate-quote-table td:last-child>*{margin:3px}.rate-validity{font-size:12px;font-weight:700;border:1px solid #83b69a;padding:5px 9px;border-radius:20px}.rate-email-dialog pre{white-space:pre-wrap;font:inherit;line-height:1.7;background:#e8f2ec;color:#153e2e;padding:22px;border-radius:14px}.rate-existing{display:grid;gap:8px}@media(max-width:800px){.rate-quote-hero{align-items:flex-start;flex-direction:column;padding:22px}.rate-quote-search{align-items:flex-start;flex-direction:column}.rate-quote-search label{width:100%}}

.rate-client-dialog{width:min(820px,calc(100vw - 40px));max-width:820px;max-height:90dvh;padding:28px 32px;border-radius:20px;overflow:auto}.rate-client-dialog form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.rate-client-dialog form>label{margin:8px 0}.rate-client-dialog form>:not(label){grid-column:1 / -1}.rate-client-dialog form>h2{margin:0 0 14px}.rate-client-dialog form>button{justify-self:start}.rate-client-dialog::backdrop{background:rgba(8,27,22,.6);backdrop-filter:blur(4px)}@media(max-width:600px){.rate-client-dialog{padding:22px;width:calc(100vw - 24px)}.rate-client-dialog form{grid-template-columns:1fr;gap:4px}}

.rate-client-suggestions{border:1px solid #a4c4b3;border-radius:12px;background:#f5faf6;color:#183e30;padding:12px;margin-top:5px;max-height:280px;overflow:auto;box-shadow:0 8px 20px #123c3012}.rate-client-suggestions[hidden]{display:none}.rate-client-suggestions>strong{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px}.rate-client-suggestion{display:grid;gap:5px;padding:11px 9px;text-decoration:none;color:#183e30;border-top:1px solid #d5e5db;border-radius:7px}.rate-client-suggestion:hover,.rate-client-suggestion:focus-visible{background:#deeee3;outline:2px solid #2d7954}.rate-client-suggestion small{font-size:11px;color:#526e60}.rate-client-suggestion span{font-size:12px;font-weight:600;color:#176447}

.rate-client-dialog form>label{align-self:start;position:relative}.rate-client-suggestions{position:absolute;left:0;right:0;top:100%;z-index:30;max-height:250px}

.rate-delivery-details{border-top:1px solid #8caf9b;padding-top:16px;margin-top:20px}.rate-delivery-details small{display:block;margin:8px 0;line-height:1.5}

.rate-send-status{font-weight:700;padding:14px;border-radius:10px;background:#e5f2e9;color:#16412e}.rate-email-dialog[aria-busy=true] .rate-send-status{border-left:4px solid #3d9765}.rate-field[readonly]{background:#fff;border-color:transparent;cursor:default}
