@font-face{font-family:Vazir;src:url(/fonts/vazir/Vazir-Thin.woff2) format("woff2");font-style:normal;font-weight:100;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/vazir/Vazir-Light.woff2) format("woff2");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/vazir/Vazir-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/vazir/Vazir-Medium.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/vazir/Vazir-Bold.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Vazir;src:url(/fonts/vazir/Vazir-Black.woff2) format("woff2");font-style:normal;font-weight:900;font-display:swap}:root{--ink:#172326;--muted:#687579;--line:#dde5e3;--canvas:#f3f6f4;--paper:#fff;--green:#145b50;--green-dark:#0d4d43;--green-light:#1a6e62;--amber:#b96a1b;--amber-light:#d18a43;--amber-soft:#fff7ec;--red:#b63d38;--red-dark:#9e302c;--red-soft:#fbeae7;--blue:#1c6e7a;--blue-soft:#e8f0f2;--success:#21896b;--success-soft:#e8f4ef;--vehicle-catalog-ink:#202b30;--vehicle-catalog-muted:#5e6d74;--vehicle-catalog-line:#dfe5e8;--vehicle-catalog-soft:#f5f7f8;--vehicle-catalog-accent:#c91f28;--vehicle-catalog-structure:#174d48;--shadow-sm:0 2px 8px rgba(23,63,54,.06);--shadow-md:0 5px 16px rgba(23,63,54,.08);--shadow-lg:0 12px 32px rgba(23,63,54,.10);--shadow-xl:0 24px 64px rgba(23,63,54,.14);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--transition:.2s cubic-bezier(.4,0,.2,1);--font-app:"Vazir",Tahoma,"Segoe UI",Arial,sans-serif;--font-body:14px/1.6 var(--font-app);--font-heading:var(--font-app)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--canvas)}body{margin:0;color:var(--ink);font:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body:has([role=dialog][aria-modal=true]){overflow:hidden}::selection{background:rgba(21,91,80,.15);color:var(--ink)}a,button{font:inherit}button{cursor:pointer}input,optgroup,select,textarea{font-family:var(--font-app)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(23,63,54,.18);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:rgba(23,63,54,.32)}*{scrollbar-width:thin;scrollbar-color:rgba(23,63,54,.18) transparent}@media print{body.mehr-logistics-printing *,body.mehr-marketing-printing *,body.mehr-report-printing *{visibility:hidden!important}body.mehr-report-printing{margin:0!important;background:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);direction:rtl}.sidebar{position:fixed;inset:0 0 0 auto;width:248px;height:100vh;padding:24px 16px 18px;color:#dbe7e4;background:#102e2b;display:flex;flex-direction:column;overflow:auto;z-index:10;transition:transform var(--transition)}.brand{display:flex;align-items:center;gap:11px;padding:0 7px 24px;border-bottom:1px solid #2b4946}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:white;background:linear-gradient(145deg,#2fa58e,#1d756a);font:700 20px Georgia,serif;box-shadow:0 10px 24px rgba(7,28,26,.4);transition:transform var(--transition)}.brand:hover .brand-mark{transform:scale(1.06)}.brand span,.brand strong,.sidebar-foot span,.sidebar-foot strong{display:block}.brand strong{color:white;font-size:15px;margin-bottom:5px}.brand span{color:#9eb6b1;font-size:10px}.nav-label{margin:23px 10px 10px;color:#78938e;font-size:10px;letter-spacing:.05em}.nav-item{display:flex;align-items:center;gap:10px;min-height:43px;padding:8px 10px;margin:3px 0;border-radius:10px;color:#abc0bc;text-decoration:none;transition:color var(--transition),background var(--transition),box-shadow var(--transition);position:relative}.nav-item:hover{color:white;background:#1c423e}.nav-item.active{color:white;background:#1d5149;box-shadow:inset -3px 0 #53c3ad}.nav-item.active:before{content:"";position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:3px;background:#53c3ad}.nav-mark{direction:ltr;min-width:27px;color:#6f918a;font-size:10px;font-weight:700}.nav-item.active .nav-mark{color:#72d1bf}.sidebar-foot{margin-top:auto;display:flex;gap:10px;align-items:center;padding:14px 10px 2px;border-top:1px solid #2b4946}.sidebar-foot strong{color:#d9e8e5;font-size:11px;margin-bottom:4px}.sidebar-foot span{color:#79958f;font-size:10px}.health-dot{width:9px;height:9px;border-radius:50%;background:#55c59f;box-shadow:0 0 0 5px rgba(85,197,159,.12);animation:healthPulse 2.4s ease-in-out infinite}@keyframes healthPulse{0%,to{box-shadow:0 0 0 5px rgba(85,197,159,.12)}50%{box-shadow:0 0 0 8px rgba(85,197,159,.06)}}.workspace{grid-column:2;width:100%;padding:28px 34px 48px;animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.eyebrow{margin:0 0 7px;color:#7c898b;font-size:10px;font-weight:700;letter-spacing:.04em}h1,h2,p{margin-top:0}h1{color:#132a2a;font-size:clamp(21px,2.1vw,30px);letter-spacing:-.02em;line-height:1.3}h1,h2{margin-bottom:0}h2{font-size:16px;line-height:1.4}.top-actions{display:flex;gap:9px}.ghost-button,.primary-button{border-radius:var(--radius-sm);padding:11px 15px;border:1px solid transparent;transition:transform var(--transition),background var(--transition),box-shadow var(--transition)}.primary-button{color:white;background:var(--green);box-shadow:0 8px 18px rgba(20,91,80,.18)}.primary-button:hover{background:var(--green-dark);box-shadow:0 10px 24px rgba(20,91,80,.22)}.primary-button:active{transform:translateY(1px);box-shadow:0 4px 10px rgba(20,91,80,.15)}.ghost-button{color:#3d4b4e;border-color:#d5dfdc;background:white}.ghost-button:hover{border-color:#b8c6c2;background:#f7faf9}.ghost-button:active{transform:translateY(1px)}.prototype-link{display:inline-flex;align-items:center;text-decoration:none}.notice{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:13px 16px;margin-bottom:18px;border:1px solid #ecc79c;border-radius:var(--radius-md);background:#fff4e6;transition:border-color var(--transition)}.notice:hover{border-color:#e0b87f}.notice-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:white;background:#c77824;font-weight:800}.notice span,.notice strong{display:block}.notice strong{color:#75440f;font-size:12px;margin-bottom:4px}.notice span{color:#8a6137;font-size:11px}.notice button{border:0;color:#8a4c0d;background:transparent;font-weight:700;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}.metric-card{position:relative;padding:17px 18px 15px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-md);transition:transform var(--transition),box-shadow var(--transition)}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.metric-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#7e9690,#9ebeb6)}.metric-card.danger:before{background:linear-gradient(90deg,var(--red),#d4544f)}.metric-card.success:before{background:linear-gradient(90deg,var(--success),#3aab8a)}.metric-card.primary:before{background:linear-gradient(90deg,#1c6e7a,#3a92a0)}.metric-card.amber:before{background:linear-gradient(90deg,var(--amber),#d4893e)}.metric-head{display:flex;justify-content:space-between;color:#627075;font-size:11px}.metric-spark{width:27px;height:14px;border-bottom:2px solid #b8c6c2;transform:skewY(-18deg)}.metric-card>strong{display:block;margin:12px 0 4px;font-size:27px;letter-spacing:-.03em}.metric-card p{margin-bottom:0;color:#859093;font-size:10px}.metric-card.danger p{color:var(--red)}.content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);gap:15px;margin-bottom:15px}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition)}.panel:hover{box-shadow:var(--shadow-md)}.flow-panel,.region-panel{min-height:299px;padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.live-badge{padding:5px 9px;border-radius:20px;color:#24715f;background:#e8f4ef;font-size:10px;display:inline-flex;align-items:center;gap:6px}.live-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#3aab8a;animation:healthPulse 1.8s ease-in-out infinite}.stage-list{margin-top:26px;display:grid;grid-template-columns:repeat(5,1fr);direction:rtl}.stage{position:relative;min-width:0;text-align:center}.stage-index{position:relative;z-index:2;width:34px;height:34px;margin:0 auto 12px;display:grid;place-items:center;border:2px solid #d9e1df;border-radius:50%;color:#84918e;background:white;direction:ltr;font-size:10px;font-weight:800;transition:all var(--transition)}.stage.done .stage-index{color:white;border-color:var(--green);background:var(--green)}.stage.current .stage-index{color:#9a5616;border-color:#d18a43;background:#fff7ec;box-shadow:0 0 0 5px #f7ead9}.stage-line{position:absolute;z-index:1;top:16px;right:50%;width:100%;height:2px;background:#e0e6e4}.stage:first-child .stage-line{display:none}.stage.done .stage-line{background:#3c897d}.stage-copy span,.stage-copy strong{display:block;overflow:hidden;text-overflow:ellipsis}.stage-copy strong{min-height:36px;color:#304043;font-size:10px;line-height:1.8}.stage-copy span{color:#8a9697;font-size:9px}.stage.current .stage-copy span{color:#a45d19}.region-row{justify-content:space-between;margin-top:24px}.region-row,.region-title{display:flex;align-items:center}.region-title{gap:8px;font-weight:700;font-size:12px}.region-title small{color:#8c999a;font-size:9px;font-weight:400}.region-dot{width:8px;height:8px;border-radius:50%}.region-dot.gilan{background:#2e8d70}.region-dot.maz{background:#317c92}.progress{height:7px;margin-top:9px;overflow:hidden;border-radius:20px;background:#edf1ef;direction:ltr}.progress span{display:block;height:100%;border-radius:inherit;background:#2e8d70;transition:width .4s ease}.progress.maz span{background:#317c92}.region-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:21px;padding-top:14px;border-top:1px solid #edf0ef}.region-summary div{padding:9px 11px;border-radius:9px;background:#f6f8f7}.region-summary span,.region-summary strong{display:block}.region-summary span{color:#7d898b;font-size:9px;margin-bottom:7px}.region-summary strong{font-size:17px}.import-panel{padding:20px}.text-button{border:0;color:var(--green);background:transparent;font-size:10px;font-weight:700}.import-list{margin-top:18px;border-top:1px solid #edf1ef}.import-row{display:grid;grid-template-columns:68px minmax(180px,1fr) minmax(135px,auto) 60px;align-items:center;gap:14px;min-height:67px;border-bottom:1px solid #edf1ef;transition:background var(--transition)}.import-row:hover{background:#f9fbfa}.import-row:last-child{border-bottom:0}.file-badge{direction:ltr;display:inline-flex;justify-content:center;width:62px;padding:7px 4px;border:1px solid #d3e1de;border-radius:7px;color:#2e655d;background:#eef5f3;font-size:8px;font-weight:800}.file-copy span,.file-copy strong{display:block}.file-copy strong{margin-bottom:5px;font-size:11px}.file-copy span{color:#839092;font-size:9px}.status-pill{width:max-content;padding:6px 9px;border-radius:20px;font-size:9px}.status-pill.ok{color:#28725e;background:#e9f4ef}.status-pill.warn{color:#a35e1a;background:#fff2e3}.import-row>button{border:0;color:#536365;background:transparent;font-size:9px;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(9,34,31,.74);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.upload-modal{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:23px;border:1px solid #d7e1de;border-radius:18px;background:white;box-shadow:0 28px 90px rgba(6,26,23,.4);animation:slideUp .25s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.close-button{width:34px;height:34px;border:0;border-radius:9px;color:#50605e;background:#f0f4f2;font-size:22px;line-height:1;transition:background var(--transition),color var(--transition)}.close-button:hover{background:#e4ebe8;color:#3d4b4e}.modal-copy{margin:11px 0 18px;color:#73807e;font-size:11px;line-height:1.9}.hidden-input{display:none}.upload-template-panel{display:grid;gap:11px;margin:0 0 15px;padding:13px;border:1px solid #d4e4df;border-radius:12px;background:#f7fbfa}.upload-template-panel>div:first-child{display:grid;gap:5px}.upload-template-panel strong{font-size:11px}.upload-template-panel span{color:#73807e;font-size:10px;line-height:1.8}.upload-template-panel>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.upload-template-panel button{padding:8px 10px;font-size:9px}.drop-zone{width:100%;min-height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #9dbab4;border-radius:14px;color:#375651;background:#f4faf8;transition:border-color var(--transition),background var(--transition),transform var(--transition)}.drop-zone:hover{border-color:#2c7d6d;background:#eff8f5}.drop-zone.dragover{border-color:var(--green);background:#e8f4ef;transform:scale(1.01)}.drop-zone strong{font-size:13px}.drop-zone small{color:#839491;font-size:10px}.drop-icon{direction:ltr;width:48px;height:42px;display:grid;place-items:center;border-radius:10px;color:white;background:#247161;font-size:10px;font-weight:800;box-shadow:0 7px 15px rgba(24,91,79,.17)}.selected-file{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #d9e4e1;border-radius:12px;background:#f7faf9}.selected-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:white;background:#247161;font-weight:800}.selected-file span,.selected-file strong{display:block}.selected-file strong{font-size:11px;margin-bottom:5px;overflow-wrap:anywhere}.selected-file span{color:#7e8c8a;font-size:9px}.selected-file button{border:0;color:#1c6659;background:transparent;font-size:10px;font-weight:700}.reading-state{display:flex;align-items:center;gap:10px;padding:24px 8px;color:#5d6d6a;font-size:11px}.reading-state span{width:17px;height:17px;border:2px solid #cfe0dc;border-top-color:#1f7465;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.preview-box{margin-top:14px;padding:15px;border:1px solid #dce5e2;border-radius:13px;background:#fbfcfc}.preview-title{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid #e8eeec}.preview-title span,.preview-title strong{display:block}.preview-title span{color:#81908d;font-size:9px;margin-bottom:5px}.preview-title strong{font-size:12px}.preview-title code{direction:ltr;color:#71817e;font-size:9px}.preview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.preview-metrics div{padding:9px;border-radius:9px;background:#eef4f2}.preview-metrics span,.preview-metrics strong{display:block}.preview-metrics span{color:#768581;font-size:8px;margin-bottom:6px}.preview-metrics strong{font-size:15px}.dataset-list{border-top:1px solid #e7edeb}.dataset-list>div{display:grid;grid-template-columns:1fr 85px 95px;align-items:center;gap:10px;min-height:39px;border-bottom:1px solid #edf1f0}.dataset-list strong{font-size:10px}.dataset-list em,.dataset-list span{color:#7b8987;font-size:9px;font-style:normal}.dataset-list em{text-align:left;color:#27715e}.dataset-list em.has-issue{color:#b0641b}.blocker-list{margin-top:12px;padding:10px 12px;border-radius:9px;color:#874d16;background:#fff2e3}.blocker-list span,.blocker-list strong{display:block}.blocker-list strong{margin-bottom:6px;font-size:10px}.blocker-list span{margin-top:4px;font-size:9px}.upload-message{margin:12px 0 0;padding:9px 11px;border-radius:9px;font-size:10px}.upload-message.saved{color:#216958;background:#eaf4f0}.upload-message.error{color:#9e3934;background:#fbeceb}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid #e5ebe9}.modal-footer button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:15px}.sidebar nav,.sidebar-foot{display:none}.brand{border:0;padding-bottom:0}.workspace{padding:22px 15px 38px}.topbar{align-items:flex-start}.top-actions .ghost-button{display:none}.notice{grid-template-columns:34px 1fr}.notice button{display:none}.metric-grid{grid-template-columns:1fr 1fr}.stage-list{grid-template-columns:1fr;gap:10px}.stage{display:grid;grid-template-columns:38px 1fr;text-align:right;align-items:center}.stage-index{margin:0}.stage-line{display:none!important}.stage-copy strong{min-height:0}.import-row{grid-template-columns:60px 1fr;padding:12px 0}.status-pill{grid-column:2}.import-row>button{display:none}.upload-modal{padding:17px}.upload-template-panel>div:last-child{display:grid}.upload-template-panel button{width:100%}.preview-metrics{grid-template-columns:1fr 1fr}.dataset-list>div{grid-template-columns:1fr 70px}.dataset-list em{grid-column:2;text-align:right}.selected-file{grid-template-columns:38px 1fr}.selected-file button{grid-column:2}}@media(max-width:470px){.metric-grid{grid-template-columns:1fr}.topbar{display:block}.top-actions{margin-top:16px}.region-summary{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.shell .scenarioNav button{transition:color .18s,background .18s,box-shadow .18s,transform .18s}.shell .scenarioNav button:hover{transform:translateX(-2px)}.shell .brandMark{transition:transform .2s cubic-bezier(.4,0,.2,1)}.shell .brand:hover .brandMark{transform:scale(1.06)}.shell .dangerButton,.shell .handoffButton,.shell .logoutButton,.shell .primaryButton,.shell .releaseForSaleButton,.shell .secondaryButton{transition:transform .12s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease}.shell .logoutButton:active:not(:disabled),.shell .primaryButton:active:not(:disabled){transform:translateY(1px);box-shadow:0 3px 8px rgba(20,91,80,.12)}.shell .dangerButton:active:not(:disabled),.shell .secondaryButton:active:not(:disabled){transform:translateY(1px)}.shell .decisionSurface,.shell .surface{transition:box-shadow .2s ease}.shell .decisionSurface:hover,.shell .surface:hover{box-shadow:0 8px 24px rgba(23,63,54,.1)}.shell .dataTable tbody tr{transition:background .12s ease}.shell .dataTable tbody tr:hover{background:#f8fbfa}@keyframes uxDrawerSlideIn{0%{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes uxModalSlideUp{0%{transform:translateY(16px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes uxWorkspaceFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes uxSuccessPop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes uxFadeIn{0%{opacity:0}to{opacity:1}}.shell .drawerBackdrop{animation:uxFadeIn .2s ease-out}.shell .managementDrawer{animation:uxDrawerSlideIn .25s cubic-bezier(.4,0,.2,1)}.shell .partModalBackdrop{animation:uxFadeIn .2s ease-out}.shell .partModal{animation:uxModalSlideUp .25s cubic-bezier(.4,0,.2,1)}.shell .quickAddBackdrop{animation:uxFadeIn .2s ease-out}.shell .quickAddModal{animation:uxModalSlideUp .25s cubic-bezier(.4,0,.2,1)}.shell .choiceCard{transition:border-color .18s,background .18s,box-shadow .18s}.shell .choiceCard:hover{border-color:#a0c4b9;background:#f0f8f5}.shell .biSummary article,.shell .dashboardMetrics article{transition:transform .2s ease,box-shadow .2s ease}.shell .biSummary article:hover,.shell .dashboardMetrics article:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(23,63,54,.08)}.shell .workspace{animation:uxWorkspaceFadeIn .25s ease-out}.shell .assignmentFormGrid input,.shell .assignmentFormGrid select,.shell .assignmentFormGrid textarea,.shell .formGrid input,.shell .formGrid select,.shell .headerControls select,.shell .listControls input,.shell .longField textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.shell .assignmentFormGrid input:focus-visible,.shell .assignmentFormGrid select:focus-visible,.shell .assignmentFormGrid textarea:focus-visible,.shell .formGrid input:focus-visible,.shell .formGrid select:focus-visible,.shell .listControls input:focus-visible,.shell .longField textarea:focus-visible{border-color:#277668;box-shadow:0 0 0 3px rgba(39,118,104,.1);outline:none}.shell .close-button,.shell .drawerHead>button,.shell .partModalHead>button{transition:background .15s ease,color .15s ease}.shell .close-button:hover,.shell .drawerHead>button:hover,.shell .partModalHead>button:hover{background:#e8efed;color:#3d4b4e}.shell .successState{animation:uxWorkspaceFadeIn .3s ease-out}.shell .successMark{animation:uxSuccessPop .4s cubic-bezier(.34,1.56,.64,1)}.shell .assignmentReviewHero{animation:uxWorkspaceFadeIn .35s ease-out}.shell .progress span{transition:width .4s cubic-bezier(.4,0,.2,1)}.shell ::-webkit-scrollbar{width:7px;height:7px}.shell ::-webkit-scrollbar-track{background:transparent}.shell ::-webkit-scrollbar-thumb{background:rgba(23,63,54,.15);border-radius:6px}.shell ::-webkit-scrollbar-thumb:hover{background:rgba(23,63,54,.28)}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:6px}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.16)}.shell .stepper button{transition:border-color .18s,background .18s,color .18s}.shell .filterBar button,.shell .regionPills button{transition:color .15s,background .15s,border-color .15s}.shell .bulkMethodTabs button,.shell .moduleSwitch button{transition:color .15s,background .15s,box-shadow .15s}.shell .memberCheckRow{transition:border-color .15s ease,background .15s ease}.shell .archivedRow{transition:opacity .2s ease}@media (prefers-reduced-motion:reduce){.shell *,.shell :after,.shell :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.shell .assignmentReviewHero,.shell .managementDrawer,.shell .partModal,.shell .quickAddModal,.shell .successMark,.shell .successState,.shell .workspace{animation:none!important}}.web-app-controls_install__k0IZB,.web-app-controls_notice__6cSbA{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));inset-inline-start:16px;z-index:1000;max-width:min(460px,calc(100vw - 32px));padding:14px 18px;border-radius:12px;box-shadow:0 6px 24px #102e2b26;font-size:14px;line-height:1.8}.web-app-controls_notice__6cSbA{background:#fff4df;color:#663c08;border:1px solid #deb976}.web-app-controls_notice__6cSbA span,.web-app-controls_notice__6cSbA strong{display:block}.web-app-controls_notice__6cSbA strong{font-size:16px}.web-app-controls_install__k0IZB{display:flex;gap:12px;align-items:center;background:#102e2b;color:#fff}.web-app-controls_install__k0IZB button{border:0;color:inherit;background:transparent;min-height:44px;padding:6px}.web-app-controls_install__k0IZB button:focus-visible{outline:2px solid white;outline-offset:3px;border-radius:4px}.web-app-controls_install__k0IZB button:disabled{opacity:.7;cursor:wait}.web-app-controls_dismiss__9XFe7{font-size:24px;min-width:44px}