@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms); --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms); animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms); animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms); --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px); --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px); --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)/100); --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)/100); --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%); --tw-enter-scale: calc(--value(ratio)); --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%); --tw-enter-scale: calc(--value(ratio)*-1); --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%); --tw-exit-scale: calc(--value(ratio)); --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%); --tw-exit-scale: calc(--value(ratio)*-1); --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg); --tw-enter-rotate: calc(--value(ratio)*360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg); --tw-enter-rotate: calc(--value(ratio)*-360deg); --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg); --tw-exit-rotate: calc(--value(ratio)*360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg); --tw-exit-rotate: calc(--value(ratio)*-360deg); --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-y: calc(--value(ratio)*-100%); --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-y: calc(--value(ratio)*100%); --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-enter-translate-x: calc(--value(ratio)*100%); --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-enter-translate-x: calc(--value(ratio)*-100%); --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-y: calc(--value(ratio)*-100%); --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-y: calc(--value(ratio)*100%); --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1);}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%); --tw-exit-translate-x: calc(--value(ratio)*100%); --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%); --tw-exit-translate-x: calc(--value(ratio)*-100%); --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1); }}@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@layer base{:root{--sidebar:#1a1a2e;--accent:#4f7cff;--accent-light:#eff3ff;--accent-hover:#3a6aee;--bg:#f8f9fb;--card:#fff;--border:#e8eaf0;--border-focus:#4f7cff;--text-primary:#0d0d1a;--text-secondary:#6b7280;--text-muted:#adb5c0;--success:#22c55e;--success-bg:#f0fdf4;--warning:#f59e0b;--warning-bg:#fffbeb;--error:#ef4444;--radius-card:10px;--radius-btn:8px;--radius-input:8px;--shadow-card:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-focus:0 0 0 3px #4f7cff26;--background:var(--bg);--foreground:var(--text-primary);--card-foreground:var(--text-primary);--popover:var(--card);--popover-foreground:var(--text-primary);--primary:var(--accent);--primary-foreground:#fff;--secondary:var(--accent-light);--secondary-foreground:var(--accent);--muted:#f3f4f6;--muted-foreground:var(--text-secondary);--accent-foreground:var(--accent);--destructive:var(--error);--input:var(--border);--ring:var(--accent);--radius:.5rem;--font-heading:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"Space Mono", monospace}*,:before,:after{box-sizing:border-box}*{border-color:var(--border)}html{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text-primary);margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:700}input,select,textarea{font-family:var(--font-body);color:var(--text-primary);box-sizing:border-box;font-size:13px}select{appearance:none;cursor:pointer}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}}.sidebar{background:var(--sidebar);flex-direction:column;flex-shrink:0;align-self:flex-start;width:220px;min-height:100vh;display:flex;position:sticky;top:0}.sidebar-logo{border-bottom:1px solid #ffffff0f;margin-bottom:12px;padding:24px 20px 20px}.logo-wrap{align-items:center;gap:10px;display:flex}.logo-icon{background:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-text{font-family:var(--font-heading);color:#fff;font-size:16px;font-weight:700}.logo-badge{color:#7fa8ff;letter-spacing:1px;text-transform:uppercase;background:#4f7cff33;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:9px;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:0 10px;display:flex}.nav-group{margin-bottom:4px}.nav-group-label{letter-spacing:2px;text-transform:uppercase;color:#fff3;padding:10px 10px 6px;font-size:9px;font-weight:700}.nav-item{color:#ffffff73;cursor:pointer;border-radius:7px;align-items:center;gap:9px;margin-bottom:1px;padding:9px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:#ffffffb3;background:#ffffff0d}.nav-item.active{color:#a0bfff;background:#4f7cff2e}.nav-dot{opacity:.5;background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.nav-item.active .nav-dot{opacity:1}.nav-item-label{flex:1}.nav-badge{color:#7fa8ff;background:#4f7cff40;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff0f;margin-top:auto;padding:16px 10px}.user-card{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.user-card:hover{background:#ffffff0a}.user-avatar{color:#a0bfff;background:#4f7cff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.user-name{color:#ffffffb3;font-size:12px;font-weight:600}.user-role{color:#ffffff4d;font-size:10px}.data-table{border-collapse:collapse;width:100%}.data-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;background:#fafbfd;border-bottom:1px solid #f0f2f7;padding:10px 20px;font-size:10px;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid #f5f6fa;padding:12px 20px;font-size:13px}.data-table tbody tr:hover{background:#fafbff}.data-table .ref{font-family:var(--font-mono);color:var(--accent);font-size:12px;font-weight:700}.data-table .client-name{font-weight:600}.data-table .amount{font-family:var(--font-mono);font-size:12px;font-weight:600}.steps{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);align-items:center;margin-bottom:32px;padding:16px 24px;display:flex}.step{flex:1;align-items:center;gap:10px;display:flex;position:relative}.step:not(:last-child):after{content:"";background:var(--border);width:calc(100% - 120px);height:1px;position:absolute;top:50%;left:120px;transform:translateY(-50%)}.step.done:not(:last-child):after{background:var(--accent)}.step-num{border:2px solid var(--border);width:28px;height:28px;color:var(--text-muted);background:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.step.done .step-num{background:var(--accent);border-color:var(--accent);color:#fff}.step.active .step-num{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.step-label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500}.step.active .step-label{color:var(--accent);font-weight:600}.step.done .step-label{color:var(--text-secondary)}.wizard-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px;animation:.3s forwards slideIn}.wizard-card-title{font-family:var(--font-heading);color:var(--text-primary);align-items:center;gap:8px;margin-bottom:20px;font-size:14px;font-weight:700;display:flex}.wizard-card-title-icon{background:var(--accent-light);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.wizard-field{margin-bottom:16px}.wizard-field:last-child{margin-bottom:0}.wizard-field label{color:var(--text-secondary);letter-spacing:.2px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.wizard-field .required{color:var(--error);margin-left:2px}.wizard-field{min-width:0}.wizard-field input,.wizard-field select,.wizard-field textarea{border:1px solid var(--border);border-radius:var(--radius-input);width:100%;font-size:13px;font-family:var(--font-body);color:var(--text-primary);box-sizing:border-box;background:#fff;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.wizard-field select{background:#fff url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/10px 6px no-repeat;padding-right:32px}.wizard-field input:focus,.wizard-field select:focus,.wizard-field textarea:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.wizard-field input.filled{background:#fafbff;border-color:#d0dcff}.wizard-field textarea{resize:none;min-height:72px;line-height:1.5}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-row.three{grid-template-columns:1fr 1fr 1fr}.article-col-labels{grid-template-columns:40px 1fr 1fr 80px 80px 80px 80px 36px;gap:8px;margin-bottom:6px;padding:0 12px;display:grid}.col-label{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:600}.article-row{border:1px solid var(--border);background:#fafbfd;border-radius:8px;grid-template-columns:40px 1fr 1fr 80px 80px 80px 80px 36px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:grid}.article-num{color:var(--text-muted);text-align:center;font-size:11px;font-weight:700}.article-row input,.article-row select{border:1px solid var(--border);border-radius:var(--radius-input);font-size:12px;font-family:var(--font-body);color:var(--text-primary);box-sizing:border-box;background:#fff;outline:none;width:100%;min-width:0;padding:7px 10px;transition:border-color .15s,box-shadow .15s}.article-row input:focus,.article-row select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.article-row input[type=number]{text-align:center}.article-row select{background:#fff url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 10px center/10px 6px no-repeat;padding-right:32px}.vol-calc{color:var(--accent);text-align:center;background:var(--accent-light);font-size:11px;font-weight:700;font-family:var(--font-mono);border:1px solid #d0dcff;border-radius:6px;padding:7px 4px}.delete-btn{color:#ef4444;cursor:pointer;background:#fff5f5;border:1px solid #fecaca;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.delete-btn:hover{background:#fef2f2;border-color:#f87171}.add-article-btn{border:1px dashed var(--accent);background:var(--accent-light);color:var(--accent);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);border-radius:6px;align-items:center;gap:6px;margin-top:4px;padding:6px 12px;display:flex}.add-article-btn:hover{background:#e4ecff}.vol-banner{background:var(--accent-light);border:1px solid #d0dcff;border-radius:8px;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 16px;display:flex}.vol-banner-label{color:var(--accent);font-size:12px;font-weight:600}.vol-banner-value{font-family:var(--font-heading);color:var(--accent);font-size:18px;font-weight:700}.price-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.price-row:last-child{border-bottom:none}.price-label{color:var(--text-secondary);font-size:13px}.price-value{color:var(--text-primary);font-size:13px;font-weight:600}.price-suggested{color:var(--text-muted);font-weight:400;text-decoration:line-through}.price-final-row{justify-content:space-between;align-items:center;margin-top:4px;padding:14px 0 0;display:flex}.price-final-label{font-family:var(--font-heading);font-size:14px;font-weight:700}.price-final-input{border:2px solid var(--accent);width:120px;font-size:16px;font-weight:700;font-family:var(--font-heading);color:var(--accent);text-align:right;box-shadow:var(--shadow-focus);border-radius:8px;outline:none;padding:8px 12px}.motif-field{margin-top:12px}.motif-field label{color:var(--warning);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.motif-field input{border-radius:var(--radius-input);background:var(--warning-bg);width:100%;font-size:13px;font-family:var(--font-body);color:var(--text-primary);border:1px solid #fcd34d;outline:none;padding:9px 12px}.motif-field input:focus{box-shadow:0 0 0 3px #f59e0b26}.payment-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.payment-block{border:1px solid var(--border);background:#fafbfd;border-radius:8px;padding:14px 16px}.payment-block-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:11px;font-weight:600}.payment-block-value{font-family:var(--font-heading);font-size:20px;font-weight:700}.payment-block.acompte{background:var(--success-bg);border-color:#bbf7d0}.payment-block.acompte .payment-block-value{color:var(--success)}.payment-block.reste{background:#fff5f5;border-color:#fecaca}.payment-block.reste .payment-block-value{color:var(--error)}.action-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#f8f9fbf2;justify-content:space-between;align-items:center;gap:12px;margin:32px -40px -32px;padding:16px 40px;display:flex;position:sticky;bottom:0}.action-left,.action-right{align-items:center;gap:8px;display:flex}.btn{border-radius:var(--radius-btn);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:none;align-items:center;gap:7px;padding:10px 20px;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--card)}.btn-secondary{background:var(--card);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-card)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #4f7cff4d}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-success{color:#fff;background:#16a34a;box-shadow:0 2px 8px #16a34a4d}.btn-success:hover:not(:disabled){background:#15803d}.step-indicator{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.timeline-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:20px;padding:24px 28px}.timeline-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:20px;font-size:13px;font-weight:700}.timeline{justify-content:space-between;align-items:flex-start;display:flex;position:relative}.timeline:before{content:"";background:var(--border);z-index:0;height:2px;position:absolute;top:14px;left:14px;right:14px}.timeline-progress{background:var(--accent);z-index:1;height:2px;transition:width .5s;position:absolute;top:14px;left:14px}.tl-step{z-index:2;flex-direction:column;flex:1;align-items:center;gap:8px;display:flex;position:relative}.tl-dot{border:2px solid var(--border);background:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tl-step.done .tl-dot{background:var(--accent);border-color:var(--accent)}.tl-step.active .tl-dot{background:var(--card);border-color:var(--accent);box-shadow:0 0 0 4px #4f7cff26}.tl-step.future .tl-dot{background:var(--bg);border-color:var(--border)}.tl-label{text-align:center;color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:600;line-height:1.3}.tl-step.done .tl-label{color:var(--accent)}.tl-step.active .tl-label{color:var(--accent);font-weight:700}.tl-date{color:var(--text-muted);text-align:center;margin-top:2px;font-size:9px}.tl-step.active .tl-date{color:var(--accent)}.detail-grid{grid-template-columns:1fr 360px;align-items:start;gap:24px;display:grid}.detail-left,.detail-right{flex-direction:column;gap:20px;min-width:0;display:flex}.detail-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:22px 28px}.detail-card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.detail-card-title{font-family:var(--font-heading);color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.detail-card-title-icon{background:var(--accent-light);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.detail-card-edit{color:var(--accent);cursor:pointer;font-size:11px;font-weight:500}.info-grid{grid-template-columns:1fr 1fr;gap:18px 24px;display:grid}.info-grid.three{grid-template-columns:1fr 1fr 1fr}.info-label{color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:500}.info-value{color:var(--text-primary);font-size:13px;font-weight:600}.info-value.accent{color:var(--accent)}.status-pill{font-size:12px;font-weight:600;font-family:var(--font-body);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.status-pill .pulse{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite pulseBlink}.pill-open{color:#16a34a;background:#f0fdf4}.pill-closed{color:#374151;background:#f3f4f6}.pill-transit{color:#2563eb;background:#eff6ff}.pill-recu{color:#16a34a;background:#f0fdf4}.pill-attente{color:#d97706;background:#fffbeb}.pill-livre{color:#16a34a;background:#f0fdf4}.pill-incident{color:#ef4444;background:#fff5f5}.articles-table{border-collapse:collapse;width:calc(100% + 8px);margin:0 -4px}.articles-table th{text-align:left;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--border);background:#fafbfd;padding:10px 14px;font-size:10px;font-weight:600}.articles-table td{color:var(--text-secondary);border-bottom:1px solid #f5f6fa;padding:12px 14px;font-size:13px}.articles-table td:first-child{color:var(--text-primary);font-weight:600}.articles-table tr:last-child td{border-bottom:none}.vol-badge{background:var(--accent-light);color:var(--accent);font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:12px;padding:2px 8px}.type-badge{color:var(--text-secondary);background:#f0f2f7;border-radius:10px;padding:2px 8px;font-size:11px}.conteneur-badge{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-primary);background:#fafbfd;border-radius:8px;align-items:center;gap:6px;width:100%;margin-top:12px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.conteneur-badge .dot-green{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.conteneur-route{color:var(--text-muted);font-size:11px;font-family:var(--font-body);margin-left:auto;font-weight:500}.price-line{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.price-line:last-of-type{border-bottom:none}.price-line-label{color:var(--text-secondary)}.price-line-value{color:var(--text-primary);font-weight:600}.price-line-value.strike{color:var(--text-muted);font-weight:400;text-decoration:line-through}.price-total{border-top:2px solid var(--border);justify-content:space-between;align-items:center;margin-top:4px;padding:14px 0 0;display:flex}.price-total-label{font-family:var(--font-heading);font-size:14px;font-weight:700}.price-total-value{font-family:var(--font-heading);color:var(--text-primary);font-size:22px;font-weight:800}.pay-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.pay-block{border:1px solid;border-radius:8px;padding:12px 14px}.pay-block.paid{background:#f0fdf4;border-color:#bbf7d0}.pay-block.due{background:#fff5f5;border-color:#fecaca}.pay-block-label{text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:10px;font-weight:600}.pay-block.paid .pay-block-label{color:#15803d}.pay-block.due .pay-block-label{color:#b91c1c}.pay-block-value{font-family:var(--font-heading);font-size:18px;font-weight:700}.pay-block.paid .pay-block-value{color:#16a34a}.pay-block.due .pay-block-value{color:#ef4444}.encaisser-btn{color:#fff;width:100%;font-size:13px;font-weight:700;font-family:var(--font-body);cursor:pointer;background:#16a34a;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:11px;display:flex;box-shadow:0 2px 8px #16a34a40}.encaisser-btn:hover{background:#15803d}.whatsapp-preview{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:12px;padding:12px 14px}.wa-label{color:#15803d;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:10px;font-weight:600}.wa-message{color:#166534;font-size:12px;line-height:1.6;font-family:var(--font-body)}.wa-send-btn{color:#fff;width:100%;font-size:13px;font-weight:700;font-family:var(--font-body);cursor:pointer;background:#25d366;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:10px;display:flex;box-shadow:0 2px 8px #25d3664d}.wa-send-btn:hover{background:#22c55e}.note-area{border:1px solid var(--border);width:100%;font-size:12px;font-family:var(--font-body);color:var(--text-secondary);resize:none;background:#fafbfd;border-radius:8px;outline:none;min-height:64px;margin-top:10px;padding:10px 12px;line-height:1.5}.note-area:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.stats-row{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px 18px}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:11px;font-weight:600}.stat-value{font-family:var(--font-heading);color:var(--text-primary);font-size:22px;font-weight:700}.stat-sub{color:var(--text-muted);margin-top:3px;font-size:11px}.vol-bar-wrap{margin-top:8px}.vol-bar-track{background:#f0f2f7;border-radius:10px;height:6px;overflow:hidden}.vol-bar-fill{background:linear-gradient(90deg, var(--accent), #7fa8ff);border-radius:10px;height:100%;transition:width .6s}.vol-bar-label{color:var(--text-muted);justify-content:space-between;margin-top:4px;font-size:10px;display:flex}.main-grid{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.right-col{flex-direction:column;gap:16px;display:flex}.c-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.c-card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.c-card-body{padding:16px 20px;overflow:hidden}.exp-filters{align-items:center;gap:8px;display:flex}.filter-btn{cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);font-size:11px;font-weight:600;font-family:var(--font-body);border-radius:20px;padding:5px 12px}.filter-btn.active{background:var(--accent-light);color:var(--accent);border-color:#c0d0ff}.search-input{border:1px solid var(--border);font-size:12px;font-family:var(--font-body);color:var(--text-primary);background:var(--bg);border-radius:8px;outline:none;width:180px;padding:6px 12px}.search-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.exp-table{border-collapse:collapse;width:100%}.exp-table th{text-align:left;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--border);background:#fafbfd;padding:10px 16px;font-size:10px;font-weight:600}.exp-table td{color:var(--text-secondary);vertical-align:middle;border-bottom:1px solid #f5f6fa;padding:13px 16px;font-size:13px}.exp-table tr:last-child td{border-bottom:none}.exp-table tr:hover td{background:#fafbff}.exp-ref{font-family:var(--font-mono);color:var(--accent);font-size:11px;font-weight:700}.exp-client{color:var(--text-primary);font-size:13px;font-weight:600}.vol-chip{background:var(--accent-light);color:var(--accent);font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:10px;padding:2px 8px}.pay-chip{border-radius:10px;padding:3px 9px;font-size:11px;font-weight:600}.pay-partial{background:var(--warning-bg);color:#d97706}.pay-full{color:#16a34a;background:#f0fdf4}.checkbox-col{width:36px}.action-col{width:32px}.row-action{border:1px solid var(--border);background:var(--card);cursor:pointer;width:28px;height:28px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;display:flex}.row-action:hover{border-color:var(--accent);color:var(--accent)}.bulk-bar{background:var(--accent-light);border-bottom:1px solid #c0d0ff;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.bulk-label{color:var(--accent);font-size:12px;font-weight:600}.bulk-actions{gap:8px;display:flex}.route-visual{padding:20px}.route-line{align-items:center;gap:12px;margin-bottom:16px;display:flex}.route-port{flex:1}.route-port-name{font-family:var(--font-heading);color:var(--text-primary);font-size:16px;font-weight:700}.route-port-label{color:var(--text-muted);margin-top:2px;font-size:11px}.route-divider{background:var(--border);flex:1;height:1px;position:relative}.route-divider:after{content:"—";color:var(--text-muted);font-size:12px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.route-dates{grid-template-columns:1fr 1fr;gap:12px;display:grid}.route-date-block{border:1px solid var(--border);background:#fafbfd;border-radius:8px;padding:10px 12px}.route-date-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:10px;font-weight:600}.route-date-value{color:var(--text-primary);font-size:13px;font-weight:700}.route-date-sub{color:var(--text-muted);margin-top:1px;font-size:10px}.doc-list{flex-direction:column;gap:8px;padding:12px 16px;display:flex}.doc-item{border:1px solid var(--border);cursor:pointer;background:#fafbfd;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.doc-item:hover{border-color:var(--accent);background:var(--accent-light)}.doc-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.doc-icon.pdf{background:#fff0f0}.doc-icon.xls{background:#f0fff4}.doc-name{color:var(--text-primary);font-size:12px;font-weight:600}.doc-sub{color:var(--text-muted);margin-top:1px;font-size:10px}.doc-download{color:var(--text-muted);margin-left:auto}.cloture-card{border-radius:var(--radius-card);background:#1a1a2e;padding:20px}.cloture-title{font-family:var(--font-heading);color:#fff;margin-bottom:4px;font-size:14px;font-weight:700}.cloture-sub{color:#ffffff73;margin-bottom:16px;font-size:12px;line-height:1.5}.cloture-recap{background:#ffffff0f;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.cloture-recap-line{justify-content:space-between;font-size:12px;display:flex}.cloture-recap-line span:first-child{color:#ffffff73}.cloture-recap-line span:last-child{color:#fff;font-weight:600}.cloture-btn{background:var(--accent);color:#fff;width:100%;font-size:14px;font-weight:700;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;transition:all .15s;display:flex;box-shadow:0 4px 14px #4f7cff66}.cloture-btn:hover{background:var(--accent-hover)}.cloture-warn{color:#ffffff4d;text-align:center;margin-top:8px;font-size:10px}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:28px;display:flex}.tab{color:var(--text-muted);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:13px;font-weight:500;transition:all .15s}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab:hover:not(.active){color:var(--text-secondary)}.mode-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.mode-option{border:2px solid var(--border);cursor:pointer;border-radius:10px;padding:16px;transition:all .15s;position:relative}.mode-option:hover{background:var(--accent-light);border-color:#c0d0ff}.mode-option.selected{border-color:var(--accent);background:var(--accent-light)}.mode-option.selected:after{content:"";background:var(--accent);background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 5L4 7L8 3' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10px 10px;border-radius:50%;width:16px;height:16px;position:absolute;top:10px;right:12px}.mode-icon{background:#f0f2f7;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;display:flex}.mode-option.selected .mode-icon{background:#dce8ff}.mode-name{color:var(--text-primary);margin-bottom:4px;font-size:13px;font-weight:700}.mode-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.input-unit-wrap{width:100%;min-width:0;position:relative}.input-unit-wrap input{box-sizing:border-box;width:100%;padding-right:48px}.input-unit{color:var(--text-muted);pointer-events:none;font-size:12px;font-weight:600;font-family:var(--font-mono);white-space:nowrap;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.dest-table{border-collapse:collapse;width:100%}.dest-table th{text-align:left;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;background:#fafbfd;padding:10px 16px;font-size:10px;font-weight:600}.dest-table td{vertical-align:middle;border-bottom:1px solid #f5f6fa;padding:12px 16px;font-size:13px}.dest-table tr:last-child td{border-bottom:none}.dest-table tr:hover td{background:#fafbff}.dest-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.dest-flag{margin-right:6px;font-size:16px}.dest-input{border:1px solid var(--border);width:100px;max-width:100%;font-size:13px;font-family:var(--font-body);text-align:center;box-sizing:border-box;border-radius:6px;outline:none;padding:6px 10px;font-weight:600}.dest-input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus)}.toggle-wrap{align-items:center;gap:8px;display:flex}.toggle{cursor:pointer;background:#e2e8f0;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.toggle.on{background:#16a34a}.toggle:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle.on:after{left:19px}.add-dest-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.add-dest-input{border:1px dashed var(--accent);max-width:200px;font-size:12px;font-family:var(--font-body);background:var(--accent-light);color:var(--accent);border-radius:8px;outline:none;flex:1;padding:7px 12px}.add-dest-input::placeholder{color:#9eb0ff}.mod-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 140px 130px 40px;align-items:center;gap:12px;padding:12px 0;display:grid}.mod-row:last-of-type{border-bottom:none}.mod-row>*{min-width:0}.mod-row-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);grid-template-columns:1fr 140px 130px 40px;gap:12px;margin-bottom:4px;padding-bottom:10px;font-size:10px;font-weight:600;display:grid}.mod-name{color:var(--text-primary);font-size:13px;font-weight:600}.mod-desc{color:var(--text-muted);margin-top:1px;font-size:11px}.mod-type-badge{border-radius:12px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.mod-type-pct{color:#92400e;background:#fffbeb}.mod-type-flat{background:var(--accent-light);color:var(--accent)}.simulator{border-radius:var(--radius-card);color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#0f1729 100%);margin-bottom:20px;padding:24px}.sim-title{font-family:var(--font-heading);color:#fff;margin-bottom:4px;font-size:14px;font-weight:700}.sim-sub{color:#fff6;margin-bottom:20px;font-size:12px}.sim-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.sim-grid>*{min-width:0}.sim-field label{color:#ffffff80;margin-bottom:5px;font-size:11px}.sim-field input,.sim-field select{color:#fff;box-sizing:border-box;border-radius:var(--radius-input);width:100%;font-size:13px;font-family:var(--font-body);background:#ffffff14;border:1px solid #ffffff1f;outline:none;padding:9px 12px}.sim-field select{background:#ffffff14 url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/10px 6px no-repeat;padding-right:32px}.sim-field input::placeholder{color:#ffffff4d}.sim-field input:focus,.sim-field select:focus{border-color:#4f7cff80;box-shadow:0 0 0 3px #4f7cff26}.sim-field .input-unit-wrap input{padding-right:48px}.sim-field .input-unit{color:#fff6}.sim-result{background:#4f7cff26;border:1px solid #4f7cff4d;border-radius:10px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sim-result-label{color:#fff6;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:11px}.sim-result-breakdown{color:#ffffff80;margin-top:4px;font-size:12px}.sim-result-value{font-family:var(--font-heading);color:#7fa8ff;font-size:32px;font-weight:800}.sim-result-unit{color:#fff6;font-size:14px;font-weight:400}.save-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#f8f9fbf5;justify-content:space-between;align-items:center;margin:20px -40px -32px;padding:14px 40px;display:flex;position:sticky;bottom:0}.save-bar-left{align-items:center;gap:10px;display:flex}.unsaved-dot{background:#d97706;border-radius:50%;flex-shrink:0;width:8px;height:8px}.unsaved-label{color:#d97706;font-size:12px;font-weight:600}.save-bar-right{gap:10px;display:flex}.btn-danger-soft{color:var(--error);background:#fff5f5;border:1px solid #fecaca}.btn-danger-soft:hover{background:#fef2f2}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseBlink{0%,to{opacity:1}50%{opacity:.3}}
