/* CMSA Atelier: the application remains completely local, including its fonts. */
@font-face{font-family:"DM Sans";src:url('/static/fonts/dm-sans-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url('/static/fonts/dm-sans-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url('/static/fonts/dm-sans-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url('/static/fonts/dm-sans-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url('/static/fonts/dm-serif-display.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f5f3ee;--ink:#43484b;--muted:#73787b;--white:#fffefa;--orange:#e57b3a;--orange-dark:#b55021;--green:var(--orange-dark);--green-soft:#fae9dc;--charcoal:#45474b;--line:#e3e1dd;--shadow:0 24px 65px #3f444714;--rail:90px}
html{font-family:"DM Sans","Segoe UI",sans-serif;font-size:14px;background:var(--paper);color:var(--ink)}
body{background:radial-gradient(ellipse at 96% 0,#f7e8db70,transparent 38%),var(--paper)}
button,input,select,textarea{font-family:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c95e2b;outline-offset:4px}
.btn{min-height:43px;border-radius:12px;border-color:#dfdcd6;background:#fffefa;font-size:13px;font-weight:600;padding:11px 17px;transition:background .2s,box-shadow .2s,transform .2s,border-color .2s}
.btn:hover{background:#f5f4ed;border-color:#cbcfd1;box-shadow:0 5px 14px #3e43460b;transform:translateY(-1px)}
.btn-primary{background:var(--orange-dark);border-color:var(--orange-dark);color:#fffaf4;box-shadow:0 8px 18px #bb582620}
.btn-primary:hover{background:#a5461a;border-color:#a5461a;box-shadow:0 10px 23px #bb582630}
.btn-quiet{border-color:transparent;background:transparent;box-shadow:none;padding-left:8px;padding-right:8px;color:#676f74}
.btn-quiet:hover{background:#edebe8;border-color:transparent;box-shadow:none}
.btn-small{font-size:12px;min-height:34px;padding:7px 11px;border-radius:9px}
.btn-danger{color:#a84135;border-color:#e9d7d0}
.icon-button{width:37px;height:37px;border-radius:11px;color:#747c80;transition:background .2s,transform .2s}
.icon-button:hover{background:#edece9;color:var(--orange-dark);transform:translateY(-1px)}
.btn:hover .icon-plus{transform:rotate(90deg)}
.icon-button:hover .icon-print{transform:translateY(-2px)}
.icon-button:hover .icon-eye{transform:scale(1.1)}
.icon-button:hover .icon-edit{transform:rotate(-10deg)}
.workspace{margin-left:112px;min-height:100dvh;background:transparent}
.topbar{height:89px;border:0;background:transparent;padding:0 43px;gap:16px}
.topbar-left{gap:22px}
.topbar-title{gap:12px}
.topbar-title strong{font-size:16px;letter-spacing:.4px;color:var(--charcoal)}
.topbar-title>span{font-size:13px;border:0;padding-left:0;color:var(--muted);font-weight:400}
.topbar-project{border:0;border-radius:20px;background:#e9e7e360;padding:6px 12px;font-size:11px;color:#7b8387;max-width:270px}
.topbar-date{font-size:11px;gap:8px;color:#787e81}
.topbar-date .icon{color:#9ca2a6}
.content{max-width:1650px;padding:27px 43px 48px;width:100%}
.page-head{margin-bottom:31px;gap:24px}
.page-head .eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:600;color:#80888d;margin-bottom:11px}
.page-head h1{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:43px;line-height:1.13;letter-spacing:-.8px;color:var(--charcoal)}
.page-head p{font-size:14px;line-height:1.7;color:#7a8083;margin-top:11px;max-width:700px}
.page-actions{padding-top:20px;gap:12px}
.month-select{background:#fdfcf7;border-color:#e1ded9;border-radius:12px;font-size:12px;min-height:43px;padding:10px 12px;max-width:164px}
.workspace-footer{border:0;margin:0 43px;padding:20px 0 25px;font-size:9px;letter-spacing:1px;color:#929a9e}
/* The rail expands over the workspace. Content never jumps sideways. */
.rail{inset:20px auto 20px 18px;width:90px;max-height:calc(100dvh - 40px);background:#fcfcf7;border:1px solid #fffdf9;padding:18px 13px 14px;border-radius:26px;box-shadow:0 8px 45px #44494b10;overflow:hidden;transition:width .24s ease,box-shadow .24s ease;color:var(--ink)}
.rail-brand{height:92px;border-bottom:1px solid #e9e7e3;margin-bottom:23px}
.rail-monogram{width:62px;font-size:15px;letter-spacing:.2px;color:var(--charcoal);padding-top:17px;font-weight:700;gap:0}
.brand-marker{height:3px;width:25px;background:var(--orange);border-radius:2px;margin-top:10px}
.rail-brand-full{left:9px;top:7px;width:218px}
.rail-logo-full{width:202px;max-height:58px;background:transparent;padding:7px 2px;object-fit:contain}
.brand-sub{font-size:8px;color:#8a9297;letter-spacing:1.25px;margin-top:10px}
.nav{gap:8px}
.nav button{width:100%;min-height:48px;border-radius:15px;background:transparent;color:#788186;padding:12px 12px;gap:18px;font-size:13px;font-weight:500;overflow:hidden}
.nav button>.icon{width:36px;height:25px;justify-content:center;align-items:center;flex-shrink:0}
.nav .icon svg{width:22px;height:22px;stroke-width:1.65}
.nav button.active{background:#fae5d6;color:#965323;font-weight:600;box-shadow:0 4px 10px #c3652910}
.nav button.active>.icon{color:#b75425}
.nav button.active::before{display:none}
.nav button:hover{background:#eeedea;color:#4d5357}
.nav button.active:hover{background:#f8dfcd;color:#965323}
.nav button:hover .icon{transform:translateY(-2px) rotate(-5deg)}
.nav button[data-view="reports"]:hover .icon,.nav button[data-view="forecasts"]:hover .icon{transform:scale(1.1)}
.nav-divider{background:#e4e2dd;margin:17px 14px 11px;width:34px}
.nav-label{color:#979da1;font-size:8px;letter-spacing:1.2px}
.rail-bottom{padding-top:14px}
.rail-user{border-top:1px solid #e9e7e3;gap:19px;padding:16px 16px 13px;width:228px}
.avatar{width:30px;height:30px;border-radius:11px;background:#eae8e5;color:#687075;border:0;font-size:12px}
.user-text{color:var(--charcoal)}
.user-text strong{font-size:12px;font-weight:600}.user-text span{color:#91999d;font-size:10px}
.rail-logout{width:100%;padding:11px 12px;border-radius:12px;gap:18px;color:#8f979b;font-size:12px}
.rail-logout>.icon{width:36px;justify-content:center}
.rail-logout:hover{background:#f4e9df;color:#ad562a}
@media(min-width:761px){.rail:hover,.rail:focus-within{width:274px;box-shadow:18px 12px 55px #50565a21}.rail:hover .nav-divider,.rail:focus-within .nav-divider{width:217px}}
/* The asymmetry gives the month's value a clear first reading. */
.dashboard-stage{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,1fr);gap:26px;margin-bottom:37px}
.fuel-balance{position:relative;overflow:hidden;border-radius:25px;background:#393d3f;min-height:284px;padding:32px 33px;display:flex;box-shadow:0 15px 34px #393d4012;isolation:isolate}
.fuel-balance::after{content:"";position:absolute;inset:0;border:1px solid #ffffff09;border-radius:inherit;pointer-events:none}
.balance-glow{position:absolute;right:-70px;top:-140px;width:340px;height:360px;background:#e4814345;border-radius:50%;filter:blur(55px);z-index:-1}
.balance-content{position:relative;z-index:2;max-width:calc(100% - 170px);display:flex;flex-direction:column;align-items:flex-start}
.balance-kicker{font-size:11px;font-weight:500;color:#bdc1c3;display:flex;align-items:center;gap:8px;text-transform:capitalize;margin-bottom:25px}
.balance-dot{width:6px;height:6px;border-radius:50%;background:#eda778;box-shadow:0 0 0 4px #d5a2760d}
.balance-content h2{font-size:13px;color:#e7e5e0;font-weight:400;letter-spacing:.1px}
.balance-amount{font-family:"DM Sans",sans-serif;font-size:clamp(34px,3.9vw,58px);font-weight:500;letter-spacing:-2px;line-height:1.23;color:#fff9ec;margin-top:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.balance-content>p{font-size:11px;line-height:1.7;color:#b9bec1;margin-top:10px;max-width:240px}
.balance-link{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:500;color:#e5b693;background:transparent;border:0;padding:0 0 3px;line-height:1.5;margin-top:26px;border-bottom:1px solid #e5b69332;transition:color .2s}
.balance-link:hover{color:#ffce9e}.balance-link:hover .icon{transform:translateX(4px)}
.balance-link .icon svg{width:15px;height:15px}
.balance-scene{position:absolute;right:0;bottom:26px;width:255px;pointer-events:none;opacity:.93}
.fleet-artwork{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 14px #15161728)}
.balance-caption{display:flex;align-items:center;gap:11px;font-size:10px;letter-spacing:1.5px;color:#acb1b4;justify-content:center;padding-left:45px;margin-top:-3px}
.balance-caption>span{font-size:6px;letter-spacing:1.4px;color:#91989c}
.operation-summary{display:flex;flex-direction:column;justify-content:center;gap:0;padding:11px 5px 11px 2px}
.operation-stat{display:flex;align-items:flex-start;gap:17px;padding:18px 11px;width:100%;border:0;background:transparent;text-align:left;color:var(--charcoal);position:relative;border-radius:16px}
.operation-stat+.operation-stat{border-top:1px solid #e2e0db;margin-top:7px;padding-top:22px;border-radius:0 0 16px 16px}
.operation-icon{width:44px;height:44px;background:#eae8e4;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#818a8f;margin-top:4px}
.operation-icon .icon svg{width:22px;height:22px;stroke-width:1.6}
.operation-label{font-size:12px;font-weight:500;color:#7a8287;display:block}
.operation-stat strong{font-size:36px;font-weight:500;letter-spacing:-1px;line-height:1.3;display:block;margin-top:5px;font-variant-numeric:tabular-nums}
.operation-stat strong small{font-size:14px;font-weight:400;color:#979da1;letter-spacing:0}
.operation-stat p{font-size:11px;line-height:1.6;color:#8a9296;margin-top:2px}
.pending-operation .operation-icon{background:#f5e7d9;color:#c08c66}
.pending-operation:hover{background:#ecebe8}
.operation-arrow{position:absolute;right:10px;top:49%;color:#969ca1;transition:transform .2s}
.pending-operation:hover .operation-arrow{transform:translateX(4px)}
.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:32px;align-items:start}
.dashboard-activity{margin:0;padding:0;background:transparent;border:0;min-width:0}
.section-head h2{font-size:22px;font-weight:500;letter-spacing:-.5px;color:var(--charcoal)}
.section-head .eyebrow{font-size:8px;letter-spacing:1.2px;color:#92999d;margin-bottom:8px}
.section-head p{font-size:12px;color:var(--muted)}
.dashboard-activity .section-head{margin-bottom:21px}
.dashboard-activity .data-table-wrap{border:0;background:transparent}
.dashboard-activity .data-table th{background:transparent;border-color:#e2dfda}
.dashboard-activity .data-table td{border-color:#e6e4e0}
.dashboard-activity .empty-state{background:#edece9;border-radius:22px;margin-top:6px;padding:37px 20px}
.consumption-goal{display:flex;flex-direction:column;align-items:flex-start;gap:0;background:#eeeede;border:0;border-radius:22px;padding:25px 25px 23px;position:relative;overflow:hidden}
.consumption-goal::before{content:"";position:absolute;top:-16px;right:-26px;width:98px;height:98px;border:1px solid #d8d5cf;border-radius:50%;pointer-events:none}
.goal-marker{width:37px;height:37px;background:#e2e0db;border:0;color:#7f888d;border-radius:12px;margin-bottom:24px}
.goal-marker .icon svg{width:23px;height:23px;stroke-width:1.4}
.goal-copy{width:100%}.goal-copy .eyebrow{font-size:8px;color:#878f94;letter-spacing:1.3px;margin-bottom:9px}
.goal-copy h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:26px;letter-spacing:-.45px;line-height:1.1;color:#51575a}
.goal-copy>p{font-size:11px;color:#7d858a;line-height:1.8;margin-top:13px}
.goal-meta{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:21px;font-size:10px;color:#868e93}
.goal-meta strong{font-size:24px;font-weight:500;color:#5c6367;letter-spacing:-.8px;line-height:1.2}
.goal-meta strong small{font-size:10px;font-weight:400;letter-spacing:0;color:#939a9e}
.goal-incomplete{color:#aa7859;font-size:10px;line-height:1.5;margin-top:2px}
.consumption-goal>.btn{background:transparent;border:0;border-top:1px solid #dcd9d3;border-radius:0;margin:22px 0 0;padding:17px 0 0;font-size:11px;color:#646c70;box-shadow:none;justify-content:space-between;width:100%;min-height:0}
.consumption-goal>.btn:hover{background:transparent;box-shadow:none;color:#b25d29;transform:none}
/* Business lists are quiet surfaces, with generous rows rather than heavy grids. */
.data-table-wrap{background:#fffefa;border:0;border-radius:19px;box-shadow:0 5px 24px #454a4c08}
.data-table{font-size:13px;white-space:nowrap}
.data-table th{font-size:10px;letter-spacing:.4px;font-weight:500;background:#f8f8ef;color:#939a9f;border-color:#e7e5e2;padding:15px 18px}
.data-table td{padding:18px;border-color:#eeece9;color:#5f666b;line-height:1.6}
.data-table tbody tr:hover{background:#f7f6f5}
.data-table .number{font-size:12px;font-weight:600;color:#51575a}
.plate{font-family:"DM Sans",sans-serif;font-weight:600;font-size:12px;color:#747d82;letter-spacing:.5px}
.cell-secondary{font-size:10px;color:#9ca3a7;margin-top:4px;line-height:1.65}
.status{border-radius:15px;font-size:10px;padding:6px 10px;font-weight:500;background:#edece9;color:#828a8f;gap:6px}
.status.pending{background:#f9e9d9;color:#b98654}.status.completed,.status.active{background:#eae8e5;color:#788085}
.status.cancelled,.status.blocked,.status.deleted{background:#f5e6dd;color:#b18d75}
.filters{border:0;border-radius:20px;background:#fffefa;padding:23px;gap:14px;box-shadow:0 5px 24px #454a4c06;margin-bottom:24px}
.filters .field label{font-size:11px;color:#838b8f}.filters input,.filters select{font-size:12px;min-height:40px;background:#fcfcf6}
.filters .btn{min-height:40px;font-size:12px}
.filter-more{border-color:#e7e5e2}.filter-more>summary{font-size:12px;color:#7b8489}
.result-count{font-size:12px;color:#91989c;margin-bottom:16px}
.report-filters{padding:25px;display:block}
.report-filters .filter-more{padding-top:20px}.report-filters .filter-more summary{font-size:11px;color:#8b9397}
.report-result{background:#fffefa;border:0;border-radius:21px;box-shadow:0 7px 30px #454a4c08;padding:27px}
.report-result-head{margin-bottom:25px}.report-result-head h2{font-family:"DM Serif Display",Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.3px;color:#545a5d}
.report-result-head p{font-size:13px;color:#979da1;line-height:1.8}.report-result-head p>strong{color:#b5794e;font-weight:500}
.report-result .data-table-wrap{box-shadow:none}.report-result .data-table th{background:#fffefa}
.vehicle-report{margin-top:28px}
.tabs{gap:30px;border-color:#dfdcd7;margin-bottom:26px;padding-left:5px}
.tabs button{font-size:13px;padding-bottom:15px;color:#8a9297;font-weight:400}
.tabs button.active{border-color:#c7844e;color:#6a7277;font-weight:500}
.catalog-summary{font-size:13px;color:#90979b;margin-bottom:20px}
.company-form{border:0;border-radius:22px;padding:30px;box-shadow:0 5px 25px #454a4c08;background:#fffefa}
.field{gap:8px;margin-bottom:21px}.field label,.field-label{font-size:12px;color:#737c81;font-weight:500}
.field input,.field select,.field textarea{min-height:45px;border-color:#e2dfda;background:#fdfdf7;border-radius:11px;padding:12px 13px;color:#666d71;font-size:13px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#c2c6c8}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#c27848;box-shadow:0 0 0 4px #d59b6412;outline:2px solid transparent;outline-offset:2px}
.field input::placeholder,.field textarea::placeholder{color:#acb2b5}.field small,.subtle-note{font-size:11px;line-height:1.8;color:#8d9498}
.inline-help{border:0;border-radius:14px;background:#f0eddf;color:#a49173;font-size:12px;line-height:1.8;padding:16px 18px}
.quantity-mode{border:0;background:transparent;padding:0;margin:3px 0 19px}.quantity-mode legend{color:#747d82;font-size:12px;font-weight:500;margin-bottom:10px}
.mode-option{border-radius:12px;border-color:#e2e0db;background:#fcfcf6;color:#737b80;font-size:12px;min-height:49px}
.mode-option:has(input:checked){background:#fae8d9;border-color:#e8bd9b;color:#b77c48}
.mode-description{font-size:11px;color:#949ba0}.mode-option input{accent-color:var(--orange-dark)}
.modal-backdrop{background:#373b3d5c;backdrop-filter:blur(7px);animation:atelier-overlay .2s ease-out}
.modal{border-radius:24px;background:#fffefa;box-shadow:0 30px 110px #2d31332e;animation:atelier-modal .26s cubic-bezier(.2,.65,.3,1)}
.modal-head{padding:29px 30px 23px;border-color:#ecebe8;background:#fffefa}.modal-head h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:29px;letter-spacing:-.4px;color:#5d6367}
.modal-head .eyebrow{font-size:9px;color:#be8e62;letter-spacing:1.4px}.modal-head p{font-size:12px;color:#939a9f;line-height:1.8}
.modal-body{padding:27px 30px}.modal-footer{padding:19px 30px;background:#f6f5f3;border-color:#e9e7e3;gap:12px}
.detail-summary{border:0;border-radius:17px;background:#efedea;padding:23px;gap:24px 20px}.detail-label{font-size:10px;color:#949ba0}.detail-value{font-size:13px;color:#6a7277;font-weight:500;line-height:1.7}
.attachment{border-radius:12px;border-color:#e5e3de;background:#fdfdf7;color:#7b8489;padding:14px;font-size:12px}.choice{border-color:#e5e3de;background:#fdfdf7;border-radius:12px;padding:13px}.choice span{font-size:12px;color:#7b8489}.choice small{font-size:11px;color:#9ba1a5}
.form-error{border-radius:12px;background:#fbeadc;color:#ba8252}.toast{border-radius:14px;box-shadow:0 15px 45px #43484a29;font-size:13px}
.empty-state{padding:48px 22px}.empty-state h3{font-size:18px;font-weight:500;color:#778085}.empty-state p{font-size:12px;line-height:1.8;color:#979da1}
.empty-state>.icon{border-radius:15px;background:#f4e7d7;color:#c49160;padding:15px;margin-bottom:16px}
.error-state{border:0;border-radius:17px;padding:24px;background:#f7e7d9;color:#b17c52}
.disclosure{border-radius:14px;border-color:#e6e4df}.disclosure>summary{font-size:12px;color:#939a9e}
/* Forecasts, trip logs and export details share the same visual language. */
.cm-forecast-toolbar{border-top:0;padding:7px 0 26px;gap:35px}.cm-forecast-progress{border-color:#dfdcd6;padding-left:35px}.cm-forecast-progress strong{font-size:28px;font-weight:500;color:#767f84}.cm-forecast-progress span{color:#989fa3;font-size:12px}
.cm-forecast-alert{border:0;border-radius:15px;background:#f5e7d6;color:#b59168;padding:18px 22px;font-size:12px}
.cm-forecast-table .cell-actions .btn{border:0;border-radius:10px;background:#f0efec;text-decoration:none;color:#858d91;padding:9px 12px;font-size:11px;min-height:35px}
.cm-forecast-table .cell-actions .btn:hover{background:#eee1cd;color:#b78855}
.cm-needs-forecast td:first-child{border-left:0}.cm-undefined{font-size:12px;color:#b9916a;font-weight:400}
.cm-disclosure{border:0;border-radius:17px;background:#f0efec;padding:18px 22px;margin-top:14px}.cm-disclosure>summary{font-size:13px;color:#848c91;font-weight:400;line-height:1.8}
.cm-report-details{border-top:0}.cm-disclosure .data-table-wrap{margin-top:20px;box-shadow:none;border-radius:13px}.cm-disclosure .subtle-note{color:#9aa0a4}
.cm-comparison-intro{font-size:12px;color:#989fa3;line-height:1.8}.cm-comparison-intro .btn{font-size:11px;border-radius:10px}
.cm-calculation{border-top:1px solid #dddad5;border-radius:0;margin-top:24px;padding:24px 0}.cm-calculation small{font-size:10px;color:#a2a8ab}.cm-calculation strong{font-size:18px;color:#858d91;font-weight:500}
.cm-route-block{border-color:#e2dfda;padding:20px 0}.cm-route-block h3{font-size:12px;font-weight:500;color:#91999d}
.cm-empty{border:0;border-radius:18px;background:#ecebe8;color:#9ea5a9;font-size:12px;padding:30px}.cm-empty-large{padding:51px 24px}.cm-empty h2{font-family:"DM Serif Display",Georgia,serif;font-size:25px;font-weight:400;color:#868e93}
.cm-trip-explanation{border:0;border-radius:18px;background:#e8e6e2;padding:21px 24px;font-size:13px;color:#91999d;margin-bottom:22px}.cm-trip-explanation strong{font-size:12px;color:#868e92;font-weight:500}.cm-trip-explanation span{font-size:11px;color:#a5abae}
.cm-trip-stats{padding:4px 0 24px;color:#a5abae;font-size:12px;gap:39px}.cm-trip-stats strong{font-size:28px;color:#90979b;font-weight:500}.cm-distance-preview{border-color:#e2dfda;font-size:14px;color:#868e93;padding-top:23px;font-weight:500}.cm-trip-details{font-size:13px}.cm-trip-details dt{color:#a4aaad}.cm-trip-details dd{color:#969da1}.cm-filter-details summary{font-size:12px;color:#949b9f;font-weight:500}.cm-form-intro{font-size:13px;color:#a2a8ab;line-height:1.8}.cm-text-action{color:#bb9565;font-weight:500}
/* PDF pages stay unfiltered and at their original proportions. */
.pdf-modal{animation:atelier-modal .2s ease-out}.pdf-toolbar{background:#f4f3f1;color:#9ba2a6;border-color:#e7e5e0;font-size:12px}.pdf-reader{background:#e3e1dd}.pdf-page{box-shadow:0 7px 25px #4f55591a;transform:none;filter:none}.pdf-fallback{background:#f7f6f4;font-size:11px;color:#a0a6aa}
/* A real CMSA project photograph fades into the warm login surface. */
.atelier-login{position:relative;isolation:isolate;background:#f3f1e9;grid-template-columns:minmax(0,1.2fr) minmax(400px,.9fr);min-height:100dvh;overflow:hidden}
.login-atmosphere{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#3a3e40cc 0%,#3d414480 29%,#dbdbc47a 49%,#f3f1e9 70%),url('/static/cmsa-project.png') 8% 39%/58% auto no-repeat;background-color:#848c90}
.login-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#33363899,transparent 47%);mix-blend-mode:multiply;opacity:.4}
.login-story{padding:54px 63px 40px;min-height:760px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.login-brand-plate{background:#fcfcf2e8;padding:15px 24px;border-radius:16px;width:264px;box-shadow:0 8px 40px #2b2e3021}
.login-story-copy{padding-top:42px;padding-bottom:64px;max-width:600px}
.login-system-label{font-size:10px;font-weight:500;letter-spacing:1.8px;color:#d7d3cc;margin-bottom:25px;line-height:1.8}
.login-system-label::before{width:27px;height:2px;background:#dba879;border-radius:2px}
.login-story h1{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(48px,5.5vw,80px);font-weight:400;letter-spacing:-1.8px;line-height:1.07;color:#fbf7e5;max-width:680px;text-shadow:0 2px 32px #2c30323d}
.login-story h1 em{font-family:inherit;font-style:normal;color:#edc198}
.login-story-copy p{font-size:14px;line-height:1.9;color:#c9ccce;margin-top:25px}
.login-story-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:480px;color:#c0c4c6;font-size:9px;letter-spacing:1px}
.login-signature{font-size:15px;font-weight:600;letter-spacing:1px;display:flex;flex-direction:column;gap:6px}.login-signature>span{height:3px;width:26px;border-radius:2px;background:#d79c6b}
.login-panel{background:transparent;padding:75px 58px 95px;align-items:center;min-width:0}
.login-inner{max-width:395px;padding:35px 0 0;animation:atelier-enter .55s ease-out}
.login-welcome-mark{width:48px;height:48px;background:#e3e1dd;border-radius:17px;display:flex;align-items:center;justify-content:center;margin-bottom:25px;color:#8e9599}
.login-welcome-mark .icon svg{width:24px;height:24px;stroke-width:1.5}
.login-inner .eyebrow{font-size:10px;color:#999fa3;letter-spacing:1.6px;margin-bottom:12px}
.login-inner h2{font-family:"DM Serif Display",Georgia,serif;font-size:40px;font-weight:400;color:#6f777c;letter-spacing:-.8px;line-height:1.15}.login-inner h2>span{color:#bc895e}
.login-inner>p{font-size:13px;color:#9ba2a6;line-height:1.8;margin:17px 0 31px}
.login-inner .field{margin-bottom:23px}.login-inner .field label{font-size:12px;color:#949ba0}.login-inner .field input{border-radius:12px;min-height:51px;border-color:#dfdcd7;background:#f7f6f5b5;color:#848c90;font-size:13px;padding:14px 16px}
.login-inner .btn{border-radius:12px;min-height:51px;font-size:13px;background:#b47848;border-color:#b47848;color:#fff8e8;padding:14px 19px;box-shadow:0 10px 25px #b7845026;margin-top:3px}
.login-inner .btn:hover{background:#a36b3e;border-color:#a36b3e}.login-footer{font-size:11px;color:#9da3a7;line-height:1.8;margin-top:28px;gap:12px}.login-footer .icon{color:#a5abae;margin-top:5px}
.login-panel-footer{border:0;padding:0;font-size:9px;color:#a3a9ac;left:58px;right:58px;bottom:39px;letter-spacing:.5px}.login-panel-footer>span:last-child{color:#8f969a;letter-spacing:1px}
/* Entry fades are brief and never applied to navigation, forms during saves, or PDF canvases. */
@keyframes atelier-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes atelier-overlay{from{opacity:0}to{opacity:1}}
@keyframes atelier-modal{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
.content>.page-head{animation:atelier-enter .32s ease-out}
.dashboard-stage{animation:atelier-enter .44s ease-out}
.dashboard-bottom{animation:atelier-enter .52s ease-out}
.content>.filters,.content>.cm-forecast-toolbar,.content>.tabs,.content>.cm-trip-explanation{animation:atelier-enter .39s ease-out}
.content>.report-result,.content>.data-table-wrap,.content>.cm-forecast-table{animation:atelier-enter .46s ease-out}
@media(max-width:1400px){.dashboard-stage{grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:24px}.balance-scene{width:220px;right:-5px;bottom:32px}.balance-content{max-width:calc(100% - 150px)}.balance-amount{font-size:43px}.dashboard-bottom{grid-template-columns:minmax(0,1fr) 224px;gap:27px}.consumption-goal{padding:24px 22px}.login-story{padding-left:50px;padding-right:36px}.login-panel{padding-left:42px;padding-right:47px}}
@media(max-width:1180px){.topbar{padding:0 31px}.content{padding:23px 31px 42px}.workspace-footer{margin:0 31px}.dashboard-stage{grid-template-columns:minmax(0,1fr);gap:17px;margin-bottom:30px}.fuel-balance{min-height:270px;padding:29px 32px}.balance-content{max-width:65%}.balance-amount{font-size:49px}.balance-scene{width:300px;right:22px;bottom:25px}.operation-summary{flex-direction:row;gap:24px;padding:0 5px}.operation-stat{width:50%;padding:18px 7px;align-items:center}.operation-stat+.operation-stat{border-top:0;border-left:1px solid #e2e0db;padding:18px 24px;margin-top:0;border-radius:0 16px 16px 0}.operation-stat strong{font-size:30px}.operation-stat p{font-size:11px}.operation-arrow{right:5px}.dashboard-bottom{grid-template-columns:minmax(0,1fr)}.consumption-goal{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:23px;align-items:center;margin-top:1px;border-radius:20px}.goal-marker{margin:0;width:42px;height:42px}.goal-copy h2{font-size:23px}.goal-copy h2 br{display:none}.goal-copy>p{max-width:490px;font-size:12px;margin-top:8px}.goal-meta{margin-top:12px;gap:6px}.goal-meta strong{font-size:21px}.consumption-goal>.btn{width:auto;padding:11px 0;min-height:35px;margin:0;border:0;gap:13px;align-self:end}.login-story{padding-left:40px;min-height:710px}.login-panel{padding-left:35px;padding-right:40px}.login-story h1{font-size:62px}.login-story-copy p{font-size:13px}.login-inner h2{font-size:35px}.login-brand-plate{width:230px}.login-atmosphere{background-size:auto,65% auto;background-position:0 0,0% 40%}}
@media(max-width:980px){.page-head h1{font-size:38px}.page-head p{font-size:13px}.page-actions{padding-top:12px}.topbar-project{display:none}.balance-amount{font-size:44px}.balance-scene{width:250px;right:2px}.login-layout.atelier-login{grid-template-columns:minmax(0,1fr) minmax(350px,1fr)}.login-story{padding-left:30px;min-height:680px;padding-top:38px;padding-bottom:34px}.login-story h1{font-size:49px}.login-system-label{font-size:8px;letter-spacing:1.2px}.login-story-copy{padding-bottom:90px}.login-story-copy p{font-size:12px}.login-brand-plate{width:215px;padding:14px 21px}.login-panel{padding-left:31px;padding-right:30px}.login-story-footer{font-size:7px;max-width:300px;gap:15px}.login-signature{font-size:12px}.login-inner h2{font-size:32px}.login-inner>p{font-size:12px}}
@media(max-width:760px){.workspace{margin-left:0}.rail{inset:12px auto 12px 12px;width:274px;max-height:calc(100dvh - 24px);transform:translateX(calc(-100% - 16px));visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility 0s linear .2s;border-radius:23px;padding:19px 13px 15px}.rail.open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .2s ease,visibility 0s}.rail .nav-divider{width:217px}.mobile-overlay.active{background:#44494b4f;backdrop-filter:blur(4px)}.topbar{height:71px;padding:0 19px;gap:10px}.topbar-left{gap:9px}.topbar-title{gap:7px}.topbar-title strong{font-size:13px}.topbar-title>span{font-size:10px;padding:0}.topbar-date{font-size:8px;letter-spacing:0;gap:0;color:#9aa0a4}.menu-button{display:flex;width:30px;height:32px;color:#999fa3}.content{padding:23px 19px 34px}.page-head{margin-bottom:25px;gap:21px}.page-head h1{font-size:37px;letter-spacing:-.6px}.page-head .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:10px}.page-head p{font-size:12px;line-height:1.8;max-width:320px;margin-top:10px}.page-actions{gap:10px;padding-top:0;flex-wrap:wrap}.page-actions .btn{font-size:11px;border-radius:10px;min-height:40px;padding:10px 13px}.month-select{font-size:11px;max-width:160px;min-height:40px;border-radius:10px}.workspace-footer{margin:0 19px;font-size:7px;padding-top:20px}.dashboard-stage{gap:15px;margin-bottom:30px}.fuel-balance{min-height:270px;border-radius:21px;padding:26px 24px}.balance-content{max-width:100%}.balance-kicker{font-size:10px;margin-bottom:24px}.balance-content h2{font-size:12px}.balance-amount{font-size:39px;letter-spacing:-1.4px}.balance-content>p{font-size:10px;max-width:190px;margin-top:7px}.balance-link{font-size:11px;margin-top:22px;gap:7px}.balance-scene{width:178px;right:-22px;bottom:33px;opacity:.7}.balance-caption{font-size:7px;gap:7px;letter-spacing:1px;padding-left:25px}.balance-caption>span{font-size:5px;letter-spacing:1px}.operation-summary{gap:10px;padding:0 0 0 1px}.operation-stat{gap:10px;align-items:flex-start;padding:15px 0}.operation-stat+.operation-stat{padding:15px 0 15px 13px;gap:10px}.operation-icon{width:30px;height:32px;border-radius:11px;margin-top:4px}.operation-icon .icon svg{width:17px;height:17px}.operation-label{font-size:10px;line-height:1.6;min-height:30px;max-width:95px;display:block}.operation-stat strong{font-size:26px;letter-spacing:-.5px;margin-top:1px}.operation-stat strong small{font-size:10px}.operation-stat p{font-size:9px;max-width:111px;margin-top:5px;line-height:1.7}.operation-arrow{display:none}.dashboard-bottom{gap:24px}.dashboard-activity .section-head{margin-bottom:19px;align-items:center;gap:12px}.section-head h2{font-size:20px}.section-head .eyebrow{font-size:6px;letter-spacing:1.1px;line-height:1.7;margin-bottom:7px}.dashboard-activity .section-head .btn{font-size:10px;padding:6px 0;gap:6px}.consumption-goal{padding:23px 21px;grid-template-columns:35px minmax(0,1fr);gap:15px;align-items:start;border-radius:20px}.goal-marker{width:33px;height:33px;border-radius:10px;margin-top:2px}.goal-marker .icon svg{width:20px;height:20px}.goal-copy h2{font-size:24px}.goal-copy .eyebrow{font-size:7px}.goal-copy>p{font-size:11px;margin-top:10px;line-height:1.8}.goal-meta{margin-top:15px;gap:7px;font-size:10px}.goal-meta strong{font-size:23px}.goal-meta strong small{font-size:9px}.goal-incomplete{font-size:10px}.consumption-goal>.btn{grid-column:2;font-size:11px;min-height:37px;border-top:1px solid #dcd9d4;padding:15px 0 0;margin-top:2px;justify-content:space-between;width:100%}.data-table-wrap{border-radius:16px}.data-table{font-size:12px}.data-table th{font-size:9px;padding:13px 14px}.data-table td{padding:16px 14px}.cell-secondary{font-size:10px}.status{font-size:9px;padding:5px 8px}.filters{border-radius:17px;padding:18px;gap:14px}.filters .field{min-width:120px}.filters .field.search{min-width:100%;flex:1}.report-filters{padding:20px}.period-fields{gap:15px 11px}.period-fields>.field{min-width:0;flex-basis:calc(50% - 6px)}.period-fields>.btn{min-height:41px;margin-top:1px;font-size:12px;border-radius:10px}.report-result{padding:22px 18px;border-radius:18px}.report-result-head h2{font-size:21px}.report-result-head p{font-size:11px;line-height:1.8}.report-result-head .report-actions{gap:10px}.report-result-head .report-actions .btn{font-size:11px;border-radius:10px}.catalog-summary{font-size:11px}.catalog-summary .btn{font-size:10px;padding:10px 11px}.tabs{gap:23px;margin-bottom:23px;padding:0}.tabs button{font-size:11px}.company-form{padding:21px;border-radius:18px}.inline-help{font-size:11px;padding:15px}.modal-backdrop{padding:13px}.modal{border-radius:20px;max-height:calc(100dvh - 26px)}.modal-head{padding:23px 22px 20px;gap:13px}.modal-head h2{font-size:25px;line-height:1.25}.modal-head p{font-size:11px}.modal-body{padding:22px}.modal-footer{padding:16px 22px;gap:10px}.modal-footer .btn{font-size:11px;padding:11px 12px}.field{margin-bottom:20px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:13px;min-height:44px;border-radius:10px}.detail-summary{padding:20px;border-radius:14px;gap:20px 15px}.detail-label{font-size:9px}.detail-value{font-size:12px}.cm-forecast-toolbar{gap:19px;padding-top:0}.cm-forecast-progress{padding-left:0}.cm-forecast-progress strong{font-size:25px}.cm-forecast-alert{font-size:11px;padding:17px;line-height:1.8}.cm-disclosure{padding:17px 18px;border-radius:14px}.cm-disclosure>summary{font-size:12px}.cm-trip-explanation{padding:20px;font-size:12px;border-radius:16px;margin-bottom:20px}.cm-trip-stats{padding-bottom:23px;gap:23px}.cm-trip-stats strong{font-size:25px}.cm-trip-stats>div .btn{font-size:11px}.cm-empty-large{padding:42px 20px}.cm-empty h2{font-size:23px}.cm-empty p{font-size:12px}.cm-calculation strong{font-size:16px}.pdf-modal{height:calc(100dvh - 26px)}.pdf-toolbar{font-size:10px;padding:14px 18px}.pdf-toolbar .btn{font-size:10px;border-radius:9px}.pdf-reader{padding:18px 12px}.pdf-fallback{font-size:9px;padding:12px 18px}.login-layout.atelier-login{display:grid;grid-template-columns:1fr;overflow:visible;background:#f3f1e9}.login-atmosphere{height:380px;background:linear-gradient(0deg,#f3f1e9 0%,#3b3f41e0 5%,#3c4144a8 58%,#454a4c91 100%),url('/static/cmsa-project.png') 55% 32%/100% auto no-repeat;background-color:#70797e}.login-atmosphere::after{display:none}.login-story{min-height:340px;max-height:none;padding:27px 29px 45px;justify-content:space-between}.login-brand-plate{width:205px;padding:12px 19px;border-radius:12px}.login-story-copy{padding:33px 0 6px;max-width:100%;}.login-system-label{font-size:7px;letter-spacing:1.5px;margin-bottom:15px;color:#c7cacc;gap:9px}.login-system-label::before{width:20px}.login-story h1{font-size:46px;letter-spacing:-1px;line-height:1.02}.login-story-copy p{font-size:11px;line-height:1.8;margin-top:15px;color:#d8d5cf}.login-story-footer{display:none}.login-panel{padding:3px 30px 78px;min-height:0;background:transparent}.login-inner{max-width:430px;padding:0;animation:none}.login-welcome-mark{display:none}.login-inner .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:9px}.login-inner h2{font-size:34px;letter-spacing:-.5px}.login-inner>p{font-size:12px;margin:13px 0 27px;color:#939a9e}.login-inner .field{margin-bottom:20px}.login-inner .field input{min-height:49px;font-size:13px;border-radius:11px;padding:13px 15px}.login-inner .btn{min-height:49px;font-size:12px;border-radius:11px}.login-footer{font-size:10px;margin-top:24px;gap:11px}.login-panel-footer{bottom:24px;left:30px;right:30px;font-size:8px}.login-panel-footer>span:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Information uses an accessible charcoal contrast; pale tones are decorative only. */
.topbar-title>span,.topbar-date,.topbar-project,.page-head p,.section-head p,.cell-secondary,.result-count,.catalog-summary,.field label,.field-label,.field small,.subtle-note,.filter-more>summary,.report-filters .filter-more summary,.report-result-head p,.detail-label,.mode-description,.quantity-mode legend,.inline-help,.choice small,.disclosure>summary,.modal-head p,.goal-copy>p,.goal-meta,.operation-label,.operation-stat p,.cm-form-intro,.cm-forecast-progress span,.cm-disclosure>summary,.cm-comparison-intro,.cm-disclosure .subtle-note,.cm-calculation small,.cm-route-block h3,.cm-trip-explanation,.cm-trip-explanation span,.cm-trip-stats,.cm-trip-details dt,.cm-filter-details summary,.cm-empty,.empty-state p,.empty-state h3,.attachment,.choice span,.pdf-fallback,.pdf-toolbar,.cm-forecast-alert,.cm-undefined,.goal-incomplete{color:#656c6e}
.page-head .eyebrow,.nav-label,.brand-sub,.workspace-footer,.goal-copy .eyebrow,.section-head .eyebrow{color:#78817f}
.data-table th{color:#707a78}.data-table td,.data-table .number,.plate,.field input,.field select,.field textarea,.detail-value,.cm-trip-details dd,.tabs button,.nav button{color:#4f5c5d}
.operation-stat strong,.goal-meta strong,.goal-copy h2,.section-head h2,.report-result-head h2,.cm-forecast-progress strong,.cm-calculation strong,.cm-trip-stats strong,.cm-distance-preview,.cm-empty h2,.modal-head h2{color:#465052}
.operation-icon,.goal-marker{background:#efe9df;color:#a76c43}
.goal-meta strong small,.operation-stat strong small{color:#777e7d}
.cm-needs-forecast .cm-undefined,.goal-incomplete,.cm-forecast-alert{color:#946138}
.cm-forecast-table .cell-actions .btn{background:#f3eee4;color:#915b33}
.cm-disclosure>summary,.cm-trip-explanation strong{color:#556064}
.nav button.active{color:#995122}.nav button.active>.icon{color:#b75425}.nav button:hover{color:#414b4d}
.nav-label,.user-text span,.rail-logout{color:#737f7a}
.login-inner h2{color:#4f5b5e}.login-inner .eyebrow,.login-inner>p,.login-inner .field label,.login-footer{color:#656c6e}
.login-inner .field input{color:#4f5c5e;background:#fbfaf5dd;border-color:#d9dcd4}
.login-inner .field input::placeholder{color:#888f8c}
.login-inner .btn{background:#b55021;border-color:#b55021;color:#fffaf5}.login-inner .btn:hover{background:#a4461b;border-color:#a4461b}
.login-welcome-mark{background:#ede4d9;color:#af754c}
.login-panel-footer{color:#79827c}.login-panel-footer>span:last-child{color:#62706c}
.status.pending{color:#955f29}.status.completed,.status.active{color:#586e51}.status.cancelled,.status.blocked,.status.deleted{color:#99705b}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid #b55021;outline-offset:3px;box-shadow:none}
.fuel-balance{background:#42484b}
.balance-glow{background:#e4814345}
.form-error,.error-state{color:#9c4e32}.danger-help{color:#914c37}
.rail .nav{scrollbar-width:none;-ms-overflow-style:none}
.rail .nav::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-height:760px) and (min-width:761px){.rail{padding-top:14px;padding-bottom:12px}.rail-brand{height:72px;margin-bottom:16px}.rail-monogram{padding-top:12px}.rail-brand-full{top:1px}.rail-logo-full{max-height:45px}.brand-sub{margin-top:7px;font-size:7px}.rail .nav{gap:4px}.rail .nav button{min-height:43px;padding-top:10px;padding-bottom:10px}.nav-divider{margin:12px 14px 6px}.rail-bottom{padding-top:8px}.rail-user{padding-top:11px;padding-bottom:10px}.rail-logout{padding-top:8px;padding-bottom:8px}}
@media(max-width:760px){.login-inner>p{color:#656c6e}.topbar-date{color:#7b8382}}
/* A calm, readable activity list replaces a wide dashboard grid. */
.activity-list{width:100%;border-top:1px solid #dedfd7}
.activity-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.5fr) auto auto;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid #e1e3da}
.activity-driver{min-width:0}.activity-driver h3{font-size:15px;font-weight:500;line-height:1.5;color:#465052;overflow-wrap:anywhere}
.activity-driver p{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:13px;color:#747b76;line-height:1.5;margin-top:8px}
.activity-driver .plate{font-size:13px;background:#ece9df;border-radius:6px;padding:2px 7px;font-weight:500;color:#74766a}
.activity-reference{font-size:12px;line-height:1.7;color:#858d80;display:block;margin-top:7px}
.activity-quantity{min-width:0}.activity-quantity strong{font-size:15px;font-weight:500;color:#5d6561;line-height:1.6;display:block}.activity-quantity>span{display:block;font-size:12px;color:#7d8778;line-height:1.6;margin-top:3px}
.activity-status .status{font-size:12px}.activity-actions{display:flex;align-items:center;gap:8px}.activity-actions .btn{border-color:#dbddd3;background:#fcfcf4;color:#6a7365;white-space:nowrap}.activity-actions .btn:hover{background:#eee6d7;color:#a56b3c}
.topbar-date,.page-head p,.section-head p,.cell-secondary,.result-count,.catalog-summary,.field label,.field-label,.field small,.subtle-note,.filter-more>summary,.report-filters .filter-more summary,.report-result-head p,.detail-label,.mode-description,.quantity-mode legend,.inline-help,.choice small,.disclosure>summary,.modal-head p,.goal-copy>p,.goal-meta,.operation-label,.operation-stat p,.cm-form-intro,.cm-forecast-progress span,.cm-disclosure>summary,.cm-comparison-intro,.cm-disclosure .subtle-note,.cm-calculation small,.cm-route-block h3,.cm-trip-explanation,.cm-trip-explanation span,.cm-trip-stats,.cm-trip-details dt,.cm-filter-details summary,.cm-empty,.empty-state p,.attachment,.choice span,.pdf-fallback,.pdf-toolbar,.cm-forecast-alert,.cm-undefined,.goal-incomplete,.activity-reference,.activity-quantity>span{font-size:13px}
.data-table th{font-size:12px;letter-spacing:.2px}.data-table td{font-size:13px}.data-table .number,.plate{font-size:13px}
.field input,.field select,.field textarea{font-size:14px}.field input::placeholder,.field textarea::placeholder{font-size:13px}
.balance-content h2{font-size:14px}.balance-content>p,.balance-kicker,.balance-link{font-size:13px}.balance-content>p{max-width:280px}.balance-link .icon svg{width:16px;height:16px}
.operation-label{min-height:0}.goal-meta{line-height:1.7}.goal-meta strong small{font-size:12px}.goal-incomplete{line-height:1.7}
.btn-small,.activity-status .status,.status,.tabs button,.cm-forecast-table .cell-actions .btn,.cm-comparison-intro .btn,.cm-text-action,.mode-option,.consumption-goal>.btn,.cm-trip-explanation strong,.cm-route-toggle,.cm-route-block h3{font-size:13px}
.user-text strong,.user-text span,.rail-logout{font-size:13px}.form-error,.error-state{font-size:13px;line-height:1.8}
.login-inner>p,.login-inner .field label,.login-inner .field input,.login-footer{font-size:13px}.login-inner .field input{font-size:14px}.login-inner .btn{font-size:14px}.login-footer{line-height:1.8}
.modal-footer .btn,.modal-head p,.pdf-toolbar .btn{font-size:13px}
@media(max-width:1400px) and (min-width:1181px){.activity-row{grid-template-columns:minmax(160px,1fr) minmax(104px,.5fr) auto;gap:14px}.activity-status{grid-column:2;grid-row:2}.activity-driver{grid-row:1/3}.activity-quantity{grid-column:2}.activity-actions{grid-column:3;grid-row:1/3}.activity-row{row-gap:8px}}
@media(max-width:760px){.topbar-date{font-size:12px}.topbar-title>span{display:none}.topbar-title strong{font-size:14px}.fuel-balance{min-height:294px}.balance-content>p{font-size:13px;max-width:180px}.balance-kicker{font-size:12px}.balance-link{font-size:12px}.balance-scene{bottom:43px;opacity:.68}.operation-stat{align-items:flex-start;gap:10px}.operation-label{font-size:12px;min-height:39px;max-width:109px}.operation-stat p{font-size:12px;max-width:111px;margin-top:6px}.operation-stat+.operation-stat{padding-left:12px}.operation-stat strong{margin-top:5px}.goal-copy>p,.goal-meta,.goal-incomplete{font-size:13px}.goal-meta strong small{font-size:12px}.consumption-goal>.btn{font-size:13px}.activity-row{grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:24px 0}.activity-driver{grid-column:1;grid-row:1/3}.activity-driver h3{font-size:14px}.activity-driver p{font-size:13px;gap:7px;max-width:175px;margin-top:8px}.activity-reference{font-size:12px;line-height:1.7;margin-top:9px;max-width:184px}.activity-quantity{grid-column:2;grid-row:1;text-align:right;max-width:130px}.activity-quantity strong{font-size:13px}.activity-quantity>span{font-size:12px}.activity-status{grid-column:2;grid-row:2;text-align:right}.activity-status .status{font-size:11px}.activity-actions{grid-column:1/-1;grid-row:3;justify-content:flex-end;gap:10px;margin-top:0}.activity-actions .btn{font-size:13px}.activity-actions .icon-button{width:36px;height:36px}.report-result-head .report-actions .btn,.page-actions .btn,.period-fields>.btn{font-size:13px}.page-actions{gap:11px}.page-actions .btn{padding:11px 12px}.filters .btn,.cm-trip-stats>div .btn{font-size:13px}.catalog-summary{font-size:13px}.catalog-summary .btn{font-size:12px}.cm-empty p,.mode-description,.subtle-note,.modal-head p{font-size:13px}.login-inner>p,.login-inner .field label,.login-footer{font-size:13px}.login-inner .field input,.login-inner .btn{font-size:14px}.login-story-copy p{font-size:13px}}

.activity-driver p,.activity-reference,.activity-quantity>span,.activity-driver .plate,.user-text span{color:#656c6e}
@media(max-width:760px){.login-atmosphere{display:none}.login-story{min-height:365px;padding-bottom:38px;background:linear-gradient(0deg,#f3f1e9 0,transparent 28px),linear-gradient(90deg,#3f4849dd,#414b4cb5),url('/static/cmsa-project.png') 55% 32%/100% auto no-repeat;background-color:#61706a}.login-panel{background:#f3f1e9;padding-top:22px}.activity-status .status,.activity-reference,.activity-quantity>span{font-size:13px}}

/* Account requests stay in the same branded entry screen. */
.login-access-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:23px;font-size:13px;line-height:1.7;color:#656c6e}
.login-access-toggle button{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;padding:6px 0;color:#a4461b;font-weight:600;line-height:1.7}
.login-access-toggle button:hover{text-decoration:underline;text-underline-offset:4px}.login-access-toggle .icon svg{width:16px;height:16px}
.login-success{display:flex;align-items:flex-start;gap:10px;background:#e9eee3;border:1px solid #cfd9c5;border-radius:12px;padding:14px 16px;margin-bottom:22px;color:#4e614b;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.login-success .icon{margin-top:3px}.login-success .icon svg{width:18px;height:18px}.login-success:focus-visible{outline:3px solid #7d946f;outline-offset:3px}
.login-password-help{font-size:12px;line-height:1.7;color:#656c6e;margin:-12px 0 18px}
.login-register .login-welcome-mark{display:none}.login-register .login-inner{padding-top:8px}.login-register .login-inner>p{margin-bottom:24px}.login-register .login-inner .field{margin-bottom:18px}.login-register .login-footer{margin-top:20px}
@media(max-width:760px){.login-register .login-story{min-height:285px;padding-bottom:28px}.login-register .login-story-copy{padding-top:24px}.login-register .login-story-copy p{display:none}.login-access-toggle{margin-top:20px;gap:6px}.login-success{padding:13px 14px}.login-register .login-panel{padding-top:22px}}

/* A full-height photograph and a quiet, separate sign-in surface. */
.login-layout.atelier-login .login-brand-plate img{filter:drop-shadow(0 0 1px #fff8ee) drop-shadow(0 0 7px #fff8eea6) drop-shadow(0 3px 8px #14232c5c)}
@media(min-width:761px){
  .login-layout.atelier-login{grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow-x:clip;overflow-y:visible;background:#faf8f2}
  .login-atmosphere{inset:0 50% 0 0;background:linear-gradient(0deg,#202a30f5 0%,#243139c7 20%,#24313926 54%,transparent 100%),url('/static/cmsa-project.png') left center/cover no-repeat;background-color:#354047}
  .login-atmosphere::before{content:none}
  .login-atmosphere::after{content:"";inset:0 0 0 auto;width:3px;background:#db6c36;mix-blend-mode:normal;opacity:1}
  .login-story{min-height:100dvh;padding:clamp(32px,4.4vh,50px) clamp(32px,4vw,64px) 30px;background:transparent}
  .login-brand-plate{width:clamp(320px,27vw,380px);max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .login-story-copy{margin:auto 0 28px;padding:42px 0 0;max-width:660px}
  .login-story h1{font-family:"DM Sans","Segoe UI",sans-serif;font-size:clamp(50px,4.3vw,72px);font-weight:700;line-height:1.06;max-width:650px;color:#fffaf0;letter-spacing:-2px;text-shadow:none}
  .login-story h1 em{font-style:normal;color:#f2ad7c}
  .login-story-copy p{font-size:15px;line-height:1.7;margin-top:23px;color:#e1e5e4}
  .login-story-footer{max-width:none;font-size:10px;line-height:1.7;color:#cfd7d8;gap:24px}
  .login-story-footer .login-signature{display:none}
  .login-system-label{font-size:10px;letter-spacing:1.7px;margin-bottom:18px;color:#e9ddcf}
  .login-system-label::before{background:#ed8a50}
  .login-panel{padding:38px clamp(32px,4vw,64px) 78px;background:#faf8f2}
  .login-inner{max-width:400px;padding:0;animation:none}
  .login-welcome-mark{display:none}
  .login-inner .eyebrow{font-size:11px;letter-spacing:1.5px;margin-bottom:12px;color:#b55427}
  .login-inner h2{font-family:"DM Sans","Segoe UI",sans-serif;font-size:34px;font-weight:700;letter-spacing:-1.2px;line-height:1.2;color:#34464b}
  .login-inner h2>span{color:#c36131}
  .login-inner>p{font-size:15px;margin:15px 0 27px;line-height:1.7;color:#637176}
  .login-inner .field{margin-bottom:21px}
  .login-inner .field label{font-size:14px;color:#43555b}
  .login-inner .field input{min-height:50px;padding:13px 15px;font-size:16px;border-radius:7px;background:#fffefa;border-color:#d6ddd9;color:#34464b}
  .login-inner .btn{min-height:50px;font-size:15px;border-radius:7px;background:#bb5225;border-color:#bb5225;box-shadow:none}
  .login-inner .btn:hover{background:#a84820;border-color:#a84820}
  .login-access-toggle{margin-top:20px;font-size:14px}
  .login-footer{margin-top:22px;font-size:13px;line-height:1.7;color:#69777b}
  .login-panel-footer{left:clamp(32px,4vw,64px);right:clamp(32px,4vw,64px);bottom:25px;line-height:1.7;font-size:10px;color:#738082}
  .login-register .login-inner{padding-top:0}
  .login-register .login-inner .field{margin-bottom:16px}
}
@media(min-width:761px) and (max-width:980px){
  .login-story{padding-left:28px;padding-right:24px}
  .login-story h1{font-size:clamp(40px,5vw,49px);letter-spacing:-.7px}
  .login-brand-plate{width:320px;max-width:100%}
  .login-story-footer{font-size:8px;gap:15px}
  .login-panel{padding-left:28px;padding-right:28px}
  .login-inner h2{font-size:30px}
  .login-panel-footer{left:28px;right:28px}
}
@media(max-width:760px){
  .login-layout.atelier-login{width:100%;min-width:0;overflow-x:clip;background:#faf8f2}
  .login-story,.login-register .login-story{min-height:240px;padding:21px 24px 22px;background:linear-gradient(0deg,#21313bdd 0%,#21313b24 75%,transparent 100%),url('/static/cmsa-project.png') left 43%/cover no-repeat;background-color:#354047;border-bottom:3px solid #db6c36;gap:18px}
  .login-brand-plate{width:260px;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .login-story-copy,.login-register .login-story-copy{padding:0;margin:0;max-width:235px}
  .login-system-label{font-size:8px;line-height:1.5;letter-spacing:.8px;margin-bottom:9px;color:#e6dfd4}
  .login-story h1{font-family:"DM Sans","Segoe UI",sans-serif;font-size:clamp(30px,7.9vw,36px);font-weight:700;line-height:1.08;letter-spacing:-.8px;color:#fffaf0;text-shadow:none}
  .login-story h1 em{font-style:normal;color:#f2ad7c}
  .login-story-copy p{display:none}
  .login-panel,.login-register .login-panel{padding:29px 24px 74px;min-width:0;background:#faf8f2}
  .login-inner{min-width:0;width:100%;max-width:430px;padding:0}
  .login-inner .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:10px;color:#b55427}
  .login-inner h2{font-family:"DM Sans","Segoe UI",sans-serif;font-size:30px;font-weight:700;letter-spacing:-.9px;line-height:1.2;color:#34464b}
  .login-inner h2>span{color:#c36131}
  .login-inner>p{font-size:14px;margin:13px 0 24px;line-height:1.7;color:#637176}
  .login-inner .field{margin-bottom:20px}
  .login-inner .field label{font-size:14px;color:#43555b}
  .login-inner .field input{width:100%;min-width:0;min-height:50px;padding:13px 14px;font-size:16px;border-radius:7px;background:#fffefa;border-color:#d6ddd9;color:#34464b}
  .login-inner .btn{min-height:50px;font-size:16px;border-radius:7px;background:#bb5225;border-color:#bb5225;box-shadow:none}
  .login-access-toggle{margin-top:19px;justify-content:flex-start;gap:4px 8px;font-size:14px}
  .login-footer{margin-top:21px;font-size:13px;line-height:1.7;color:#69777b}
  .login-panel-footer{left:24px;right:24px;bottom:23px;font-size:9px}
}
