:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%;width:100%;margin:0;background:#fff;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}*{box-sizing:border-box}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.sidebar{width:250px;height:100vh;background-color:#000;color:#fff;padding:20px;position:fixed;left:0;top:0;overflow-y:auto;z-index:1000;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}@media(min-width:769px){.sidebar{transform:translate(0)}}.sidebar-logo{text-align:center;margin-bottom:30px}.logo-image{width:150px;height:auto;max-width:100%}.sidebar ul{list-style-type:none;padding:0}.sidebar ul li{margin-bottom:10px}.sidebar ul li button{color:#fff;background:none;border:none;text-decoration:none;display:flex;align-items:center;padding:10px;border-radius:4px;transition:background-color .3s;cursor:pointer;width:100%;text-align:left}.sidebar ul li button svg{margin-right:10px}.sidebar ul li button:hover{background-color:#f7e706}.logout-button{color:#ff6b6b!important}.logout-button:hover{background-color:#ff6b6b!important;color:#fff!important}.sidebar-footer{position:absolute;bottom:20px;left:20px;right:20px;background-color:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 5px #0000001a;text-align:center}.motivational-quote{font-size:14px;font-style:italic;color:#333;margin:0;line-height:1.4}.login-container{--login-accent: #ffd02a;--login-accent-strong: #f4b900;--login-surface: rgba(18, 18, 18, .94);--login-border: rgba(255, 255, 255, .1);display:grid;min-height:100vh;min-height:100dvh;width:100%;place-items:center;padding:32px 20px;overflow:hidden;position:relative;color:#fff;background:radial-gradient(circle at 50% 0%,rgba(255,208,42,.16),transparent 36%),linear-gradient(145deg,#080808,#111 48%,#050505)}.login-container:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url(/assets/storm1-Oywe-G5a.png);background-repeat:no-repeat;background-position:center;background-size:min(900px,90vw) auto}.login-panel{width:min(100%,760px);padding:42px;position:relative;z-index:1;text-align:center;border:1px solid var(--login-border);border-radius:24px;background:var(--login-surface);box-shadow:0 24px 80px #0000008c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login-panel--form{width:min(100%,460px)}.login-brand{display:block;width:150px;max-width:45%;height:auto;margin:0 auto 28px}.login-eyebrow{margin:0 0 8px;color:var(--login-accent);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.login-title{margin:0;color:#fff;font-size:clamp(1.75rem,4vw,2.45rem);line-height:1.15}.login-description{margin:12px 0 30px;color:#a8a8a8;font-size:.98rem}.access-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.access-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;width:100%;min-height:116px;margin:0;padding:22px;color:#fff;text-align:left;text-decoration:none;border:1px solid var(--login-border);border-radius:16px;background:#ffffff09;box-shadow:none;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.access-card:hover{color:#fff;border-color:#ffd02ab3;background:#ffd02a14;transform:translateY(-3px)}.access-card:focus-visible,.login-back-button:focus-visible,.login-submit-button:focus-visible{outline:3px solid rgba(255,208,42,.45);outline-offset:3px}.access-card-icon{display:grid;width:48px;height:48px;place-items:center;color:#111;border-radius:13px;background:var(--login-accent)}.access-card-icon svg,.access-card-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.access-card-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.access-card-copy strong{font-size:1.05rem}.access-card-copy small{color:#9b9b9b;font-size:.78rem;line-height:1.35}.access-card-arrow{display:grid;color:#777;transition:color .18s ease,transform .18s ease}.access-card:hover .access-card-arrow{color:var(--login-accent);transform:translate(3px)}.login-help{margin:24px 0 0;color:#6f6f6f;font-size:.78rem}.login-back-button{display:flex;align-items:center;gap:8px;width:auto;margin:-12px 0 22px;padding:8px 0;color:#aaa;border:0;background:transparent;box-shadow:none}.login-back-button:hover{color:var(--login-accent);border-color:transparent;background:transparent}.login-form{display:flex;flex-direction:column;gap:18px;text-align:left}.login-field label{display:block;margin-bottom:7px;color:#d7d7d7;font-size:.84rem;font-weight:650}.login-field input{width:100%;height:48px;padding:0 14px;color:#fff;font:inherit;border:1px solid #393939;border-radius:10px;outline:none;background:#202020;transition:border-color .16s ease,box-shadow .16s ease}.login-field input::placeholder{color:#777}.login-field input:focus{border-color:var(--login-accent);box-shadow:0 0 0 3px #ffd02a1f}.login-field input:disabled{cursor:not-allowed;opacity:.65}.login-error{margin:-2px 0 0;padding:10px 12px;color:#ffb5b5;font-size:.82rem;text-align:center;border:1px solid rgba(255,91,91,.25);border-radius:9px;background:#ff434314}.login-error--access{margin-top:18px}.login-submit-button{width:100%;min-height:48px;margin:4px 0 0;color:#111;font-weight:800;border:0;border-radius:10px;background:var(--login-accent);box-shadow:none}.login-submit-button:hover:not(:disabled){color:#111;border-color:transparent;background:var(--login-accent-strong)}.login-submit-button:disabled{cursor:wait;opacity:.7}@media(max-width:640px){.login-container{align-items:start;padding:18px 14px}.login-panel{margin:auto 0;padding:30px 20px;border-radius:18px}.login-brand{width:125px;margin-bottom:22px}.login-description{margin-bottom:24px}.access-options{grid-template-columns:1fr}.access-card{min-height:96px;padding:18px}}@media(prefers-reduced-motion:reduce){.access-card,.access-card-arrow{transition:none}}.quote-page{max-width:1580px;margin:0 auto;text-align:left;color:#eee;padding:12px 0 40px}.quote-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.quote-eyebrow{color:#ffc400;font-size:11px;letter-spacing:2px;font-weight:700}.quote-heading h1{font-size:32px;margin:8px 0}.quote-heading p{color:#aaa;margin:0;font-size:14px}.quote-badge{border:1px solid #554819;color:#ffc400;padding:7px 12px;border-radius:20px;font-size:10px;letter-spacing:1px}.quote-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:28px}.quote-editor{background:#151515;padding:24px;border:1px solid #333;border-radius:12px;color-scheme:dark}.quote-editor fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.quote-editor legend{font-size:14px;font-weight:700;margin-bottom:16px;padding:0}.quote-editor legend span{color:#ffc400;margin-right:7px;font-size:11px}.quote-editor label{display:block;font-size:12px;color:#d1d1d1;margin-bottom:6px}.quote-editor small{color:#929292}.quote-editor input:not([type=checkbox]),.quote-editor select,.quote-editor textarea{box-sizing:border-box;width:100%;min-width:0;background:#232323;color:#fff;border:1px solid #444;border-radius:6px;padding:10px;font:inherit;font-size:14px;margin-bottom:14px}.quote-editor textarea{resize:vertical;line-height:1.5}.quote-editor input:focus,.quote-editor select:focus,.quote-editor textarea:focus{outline:2px solid #ffc400;outline-offset:2px}.quote-help{color:#999;font-size:12px;line-height:1.6;margin:0 0 12px}.quote-print{border-top:1px solid #333;padding-top:12px;margin-top:10px}.quote-editor .quote-check{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:12px;cursor:pointer}.quote-check input{accent-color:#ffc400;width:17px;height:17px;margin:0}.quote-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-dimensions input{margin-top:6px}.quote-terms{border-left:2px solid #ffc400;padding-left:12px;font-size:12px;color:#aaa;margin-bottom:22px}.quote-terms strong{color:#ddd}.quote-terms p{margin:6px 0 0;line-height:1.7}.quote-download{background:#ffc400;color:#111;width:100%;font-weight:750;font-size:13px;padding:14px 8px}.quote-download:hover{background:#ffda48;border-color:#ffc400}.quote-download:disabled{opacity:.6;cursor:wait}.quote-error{color:#ff9f9f;font-size:13px}.quote-save-area{grid-column:1 / -1;margin-top:22px;padding-top:20px;border-top:1px solid #333}.quote-success{color:#b5e5a5;font-size:13px}.quote-editing{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;color:#ffc400}.quote-editing button,.quote-saved button{color:#ffc400;background:#262626;border:1px solid #555;font-size:12px}.quote-saved{margin-top:36px;padding:24px;background:#151515;border:1px solid #333;border-radius:12px}.quote-saved h2{font-size:20px;margin:0 0 20px}.quote-saved>p{color:#aaa;font-size:14px}.quote-saved>.quote-error{color:#ff9f9f}.quote-saved>.quote-success{color:#b5e5a5}.quote-row-actions{display:flex;gap:8px}.quote-saved .quote-delete{color:#ff9f9f;border-color:#774040}.quote-saved .quote-delete:hover:not(:disabled){background:#492525;border-color:#ff9f9f}.quote-table-scroll{overflow-x:auto}.quote-saved table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}.quote-saved th,.quote-saved td{text-align:left;padding:12px;border-bottom:1px solid #333}.quote-saved th{color:#aaa;font-size:12px}.quote-saved td:first-child{overflow-wrap:anywhere;max-width:300px}.quote-row-editing{background:#ffc4000d}.quote-saved button:disabled{opacity:.5;cursor:wait}.quote-preview{min-width:0;position:sticky;top:20px}.quote-preview-label{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;color:#aaa;font-size:10px;letter-spacing:1px;margin:0 0 12px}.quote-preview-label span:last-child{letter-spacing:0;color:#888}.quote-preview>svg{display:block;width:100%;height:auto;box-shadow:0 14px 45px #0005;border:1px solid #333}@media(max-width:1200px){.quote-workspace{grid-template-columns:270px minmax(0,1fr);gap:18px}.quote-editor{padding:18px}}@media(max-width:1000px){.quote-workspace{grid-template-columns:1fr}.quote-preview{position:static}.quote-editor{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.quote-download,.quote-error{grid-column:1 / -1}}@media(max-width:540px){.quote-page{padding-top:35px}.quote-heading h1{font-size:28px}.quote-badge{display:none}.quote-editor{display:block}}.app-container{display:flex}.main-content{margin-left:250px;padding:2rem;text-align:center;width:calc(100% - 250px);position:relative;background-color:#000;z-index:1;transition:margin-left .3s ease}.mobile-menu-toggle{display:none;position:fixed;top:10px;left:10px;background-color:#ebd234;color:#000;border:none;padding:10px;border-radius:4px;cursor:pointer;z-index:1001;font-size:18px}@media(max-width:768px){.main-content{margin-left:0;width:100%;padding:1rem}.mobile-menu-toggle{display:block}.main-content.sidebar-open{margin-left:250px;width:calc(100% - 250px)}}.main-content:before{content:"";position:fixed;inset:0;background-image:url(/assets/storm1-Oywe-G5a.png);background-size:25% auto;background-repeat:no-repeat;background-position:center;opacity:.1;z-index:-1}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
