:root{--background-color: #fff;--text-color: #444;--primary-bg: rgb(0, 45, 114);--primary-text: #fff;--input-bg: #fff;--input-border: #ccc;--tooltip-bg: rgb(0, 114, 206);--tooltip-text: #fff;--chart-bg: #fff;--sidebar-color: rgb(0, 45, 114)}[data-theme=dark]{--background-color: #1a1a1a;--text-color: #e0e0e0;--primary-bg: #1f3d77;--primary-text: #fff;--input-bg: #222;--input-border: #404040;--tooltip-bg: #2c5282;--tooltip-text: #fff;--chart-bg: #2d2d2d;--sidebar-color: rgb(80, 158, 47)}[data-theme=dark] .theme-toggle-icon .sun{transform:scale(1)}[data-theme=dark] .theme-toggle-icon .moon{transform:scale(0)}[data-theme=dark] .input-error input{border-color:#ef4444!important}[data-theme=dark] .input-warning input{border-color:#eab308!important}[data-theme=light] .theme-toggle-icon .sun{transform:scale(0)}[data-theme=light] .theme-toggle-icon .moon{transform:scale(1)}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";margin:0;padding:0;background-color:var(--background-color);color:var(--text-color);transition:background .2s linear}#esop-calculator{height:auto;max-width:min(800px,100%);margin:0 auto;padding:0 1rem}@media(min-width:768px){#esop-calculator{height:550px;padding:0;display:flex;flex-direction:row}}#inputs{width:100%;float:none;text-align:center;font-size:14px;margin:0 auto 2rem;padding:0;max-width:300px}@media(min-width:768px){#inputs{width:min(197px,100%);height:550px;float:none;margin-bottom:0;flex-shrink:0;padding:0;max-width:none}}#esopform{padding:0 10px 0 0}@media(max-width:768px){#esopform{padding:0}}#graph{width:100%;height:300px;overflow:hidden;background-color:var(--chart-bg)}@media(min-width:768px){#graph{width:calc(100% - min(197px,100%));height:550px;flex-grow:1}}header,#disclaimer{background-color:var(--primary-bg);width:100%;max-width:min(800px,100%);margin:0 auto;color:var(--primary-text);text-align:center;padding:1rem;box-sizing:border-box}header{margin-bottom:10px}#disclaimer{font-size:12px;margin-top:10px}#ytd{color:var(--sidebar-color);font-weight:bolder}fieldset{border:1px solid var(--sidebar-color);text-align:center;border-radius:5px;margin:0}legend{font-size:10px;color:var(--sidebar-color);margin:0 auto}div.vertjust{display:flex;flex-flow:column nowrap;gap:1rem;padding:1rem;align-items:center}@media(min-width:768px){div.vertjust{height:100%;justify-content:space-between;padding:8px}}div.vjitem{flex:1;width:100%;max-width:300px}label{color:var(--text-color)}input{width:100%;max-width:100%;font:inherit;color:inherit;padding:0}input.autonumeric-red,input[type=text].autonumeric-red,input[type=date].autonumeric-red{background:var(--background-color);border:2px solid rgb(220,38,38);color:#dc2626}input.autonumeric-yellow,input[type=text].autonumeric-yellow,input[type=date].autonumeric-yellow{background:var(--background-color);border:2px solid rgb(202,138,4);color:#ca8a04}input[type=text],input[type=date]{width:100%;max-width:300px;margin:.5rem 0;padding:.625rem .75rem;background-color:var(--input-bg);border:1.5px solid var(--input-border);border-radius:6px;color:var(--text-color);display:block;font-size:.9375rem;transition:all .2s ease-in-out;box-shadow:0 1px 2px #0000000d;cursor:text;box-sizing:border-box}@media(min-width:768px){input[type=text],input[type=date]{max-width:none;padding:0}}input[type=text]:disabled,input[type=date]:disabled{opacity:.6;cursor:not-allowed}input[type=text]:focus,input[type=date]:focus{outline:none;border-color:var(--sidebar-color);box-shadow:0 0 0 3px #509e2f1a,0 2px 6px #0000001a}input[type=text]:hover:not(:disabled):not(:focus),input[type=date]:hover:not(:disabled):not(:focus){border-color:#b4b4b4;box-shadow:0 2px 4px #00000014}input::-webkit-date-and-time-value{text-align:left}#years{position:absolute;display:none;border:1px solid var(--sidebar-color);padding:4px}input[type=range]{width:100%;margin:15px 0;background-color:transparent;appearance:none;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{background:var(--sidebar-color);border:none;border-radius:4px;width:100%;height:6px;cursor:pointer;box-shadow:inset 0 1px 2px #0000001a}input[type=range]::-webkit-slider-thumb{margin-top:-6px;width:18px;height:18px;background:#fff;border:2px solid var(--sidebar-color);border-radius:50%;cursor:pointer;appearance:none;box-shadow:0 2px 4px #00000026;transition:all .2s ease-in-out}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 6px #0003}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.05)}input[type=range]:focus::-webkit-slider-runnable-track{background:var(--sidebar-color)}input[type=range]::-moz-range-track{background:var(--sidebar-color);border:none;border-radius:4px;width:100%;height:6px;cursor:pointer;box-shadow:inset 0 1px 2px #0000001a}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#fff;border:2px solid var(--sidebar-color);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #00000026;transition:all .2s ease-in-out}input[type=range]::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 6px #0003}input[type=range]::-moz-range-thumb:active{transform:scale(1.05)}.tooltip,.input-error,.input-warning{position:relative}.input-error input,.input-warning input{border-width:2px}.input-error input{border-color:#dc2626!important}.input-warning input{border-color:#f59e0b!important}.input-error:after,.input-warning:after,.has-error-tooltip:after,.has-warning-tooltip:after{background-color:var(--tooltip-bg);color:var(--tooltip-text);border-radius:10px;display:none;padding:10px 15px;position:absolute;text-align:center;z-index:999;content:attr(data-error);pointer-events:none;white-space:normal;width:max-content;max-width:250px}@media(min-width:768px){.input-error:after,.input-warning:after,.has-error-tooltip:after,.has-warning-tooltip:after{top:0;right:0;transform:translate(calc(100% + 10px))}}@media(max-width:768px){.input-error:after,.input-warning:after,.has-error-tooltip:after,.has-warning-tooltip:after{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:300px}}.input-warning:after,.has-warning-tooltip:after{content:attr(data-warning)}.input-error:hover:after,.input-warning:hover:after,.has-error-tooltip:hover:after,.has-warning-tooltip:hover:after{display:block}@media(prefers-reduced-motion:reduce){.input-error:hover:after,.input-warning:hover:after,.has-error-tooltip:hover:after,.has-warning-tooltip:hover:after{transition:none}}.tooltip:after{background-color:var(--tooltip-bg);color:var(--tooltip-text);border-radius:10px;display:none;padding:10px 15px;position:absolute;text-align:center;z-index:999;content:attr(data-tooltip);pointer-events:none;white-space:normal;width:max-content;max-width:250px}@media(min-width:768px){.tooltip:after{top:0;right:0;transform:translate(calc(100% + 10px))}}@media(max-width:768px){.tooltip:after{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:300px}}.tooltip[data-tooltip]:hover:after{display:block}@media(prefers-reduced-motion:reduce){.tooltip[data-tooltip]:hover:after{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}.container{max-width:min(800px,100%);margin:0 auto;padding:0 1rem}@media(min-width:768px){.container{padding:0}}.theme-toggle{background:none;border:none;color:var(--primary-text);cursor:pointer;padding:8px;font-size:1.2rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:background-color .3s;-webkit-tap-highlight-color:transparent}.theme-toggle:hover{background-color:#fff3}.theme-toggle:focus{outline:none}.theme-toggle:focus-visible{outline:2px solid var(--primary-text);outline-offset:2px}.theme-toggle .theme-toggle-icon{fill:currentcolor;transition:transform .3s ease}.theme-toggle .theme-toggle-icon .sun,.theme-toggle .theme-toggle-icon .moon{transform-origin:center center;transition:transform .2s ease}.header-container{display:flex;justify-content:center;align-items:center;position:relative;min-height:60px}.header-container h1{margin:0;padding:0;font-size:1.2rem;text-align:center}@media(min-width:768px){.header-container h1{font-size:1.5rem}}.header-container .logo{position:absolute;left:0;width:80px;height:auto}@media(min-width:768px){.header-container .logo{width:100px}}.header-container .theme-toggle{position:absolute;right:0;width:32px;height:32px}@media(min-width:768px){.header-container .theme-toggle{width:40px;height:40px}}@media(max-width:400px){.header-container .logo{width:60px}.header-container h1{margin:0 70px;font-size:1rem}}.validation-messages{margin:1rem 0;width:100%;display:none}.validation-message{padding:.75rem 1rem;margin-bottom:.5rem;border-radius:4px;font-size:.9rem;line-height:1.4}.validation-error{background-color:#fee2e2;color:#991b1b;border-left:4px solid rgb(220,38,38)}[data-theme=dark] .validation-error{background-color:#7f1d1d4d;color:#fca5a5;border-left-color:#ef4444}.validation-warning{background-color:#fef3c7;color:#78350f;border-left:4px solid rgb(245,158,11)}[data-theme=dark] .validation-warning{background-color:#78350f4d;color:#fde047;border-left-color:#eab308}.toast-notification{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:8px;font-size:.9rem;box-shadow:0 4px 12px #00000026;max-width:400px;animation:toast-slide-in .3s ease-out;z-index:1000}@media(max-width:768px){.toast-notification{bottom:1rem;right:1rem;left:1rem;max-width:none}}.toast-error{background-color:#dc2626;color:#fff}.toast-warning{background-color:#f59e0b;color:#fff}.toast-info{background-color:#3b82f6;color:#fff}.toast-success{background-color:#22c55e;color:#fff}.toast-fade-out{animation:toast-fade-out .3s ease-out forwards}@keyframes toast-slide-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}@media(forced-colors:active){input.autonumeric-red,input.autonumeric-yellow{border-style:solid;forced-color-adjust:none}.toast-notification{border:2px solid currentcolor}.theme-toggle{border:1px solid currentcolor}input[type=range]::-webkit-slider-thumb{border:2px solid currentcolor}input[type=range]::-moz-range-thumb{border:2px solid currentcolor}}
