:root{--orange: #ff5722;--orange-dark: #e64a19;--orange-peach: #fff0e8;--yellow: #ffc107;--black: #111111;--white: #ffffff;--gray-100: #f5f5f5;--gray-200: #e0e0e0;--gray-500: #757575;--gray-700: #424242;--font: "Montserrat", system-ui, sans-serif;--font-signature: "Great Vibes", cursive}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:#eceff1;color:var(--black);min-height:100vh}.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:1rem}.auth-gate__card{background:var(--white);border-radius:16px;padding:2.5rem;width:100%;max-width:380px;text-align:center;box-shadow:0 20px 60px #0000004d}.auth-gate__logo{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.auth-gate__logo-icon{width:40px;height:40px;background:var(--orange);color:var(--white);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem}.auth-gate__logo-text{font-weight:800;font-size:1.1rem;letter-spacing:.05em}.auth-gate__card h1{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.auth-gate__card p{color:var(--gray-500);font-size:.875rem;margin-bottom:1.5rem}.auth-gate__card input{width:100%;padding:.75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-family:var(--font);font-size:.9375rem;margin-bottom:1rem;transition:border-color .2s}.auth-gate__card input:focus{outline:none;border-color:var(--orange)}.auth-gate__error{color:#d32f2f;font-size:.8125rem;margin-bottom:.75rem}.auth-gate__card button{width:100%;padding:.875rem;background:var(--orange);color:var(--white);border:none;border-radius:8px;font-family:var(--font);font-weight:700;font-size:.9375rem;cursor:pointer;transition:background .2s}.auth-gate__card button:hover{background:var(--orange-dark)}.app-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#1111118c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-dialog__card{width:100%;max-width:400px;background:var(--white);border-radius:14px;padding:1.5rem;box-shadow:0 20px 60px #00000040}.app-dialog__title{font-size:1.0625rem;font-weight:700;margin-bottom:.5rem}.app-dialog__message{color:var(--gray-700);font-size:.9375rem;line-height:1.5;margin-bottom:1.25rem}.app-dialog__actions{display:flex;justify-content:flex-end;gap:.625rem}.app-dialog__btn{padding:.625rem 1rem;border-radius:8px;border:none;font-family:var(--font);font-size:.875rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s}.app-dialog__btn--primary{background:var(--orange);color:var(--white)}.app-dialog__btn--primary:hover{background:var(--orange-dark)}.app-dialog__btn--secondary{background:var(--gray-100);color:var(--gray-700)}.app-dialog__btn--secondary:hover{background:var(--gray-200)}.app-header{background:var(--black);color:var(--white);padding:.875rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.app-header__brand{display:flex;align-items:center;gap:.625rem;font-weight:700;font-size:.9375rem}.app-header__logo{width:28px;height:28px;background:var(--orange);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.875rem}.app-header__mode{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#ffffff80;background:#ffffff1a;padding:.25rem .625rem;border-radius:4px}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--gray-500);padding:1.5rem}.app-loading__panel{max-width:560px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 12px 40px #00000014;text-align:center}.app-loading__panel h2{color:var(--black);font-size:1.125rem;margin-bottom:.5rem}.app-loading__panel p{color:var(--gray-700);font-size:.9375rem;line-height:1.5}.app-main{display:grid;grid-template-columns:420px 1fr;gap:1.5rem;padding:1.5rem;max-width:1500px;margin:0 auto;align-items:start}.sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:1.5rem;max-height:calc(100vh - 5rem);overflow-y:auto}@media(max-width:960px){.app-main{grid-template-columns:1fr}.sidebar{position:static;max-height:none}}.editor{background:var(--white);border-radius:12px;padding:1.25rem;box-shadow:0 2px 12px #00000014}.editor__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--gray-100)}.editor__title{font-size:1.0625rem;font-weight:700;margin:0;padding:0;border:none}.editor__quote-no{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.editor__quote-no-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500)}.editor__quote-no-value{font-size:.875rem;font-weight:800;color:var(--orange);letter-spacing:.02em}.editor__card{background:var(--gray-100);border-radius:10px;padding:.875rem;margin-bottom:1rem}.editor__label--spaced{margin-top:.75rem}.editor__input--lg{font-size:1rem;font-weight:600}.editor__pricing{margin-bottom:1rem}.editor__pricing-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem}.editor__pricing-header .editor__label{margin-bottom:0;font-size:.8125rem}.editor__section{margin-bottom:1.125rem}.editor__section--half{flex:1}.editor__row{display:flex;gap:.75rem}.editor__label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-700);margin-bottom:.375rem}.editor__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem}.editor__section-header .editor__label{margin-bottom:0}.editor__input{width:100%;padding:.625rem .75rem;border:1.5px solid var(--gray-200);border-radius:8px;font-family:var(--font);font-size:.875rem;transition:border-color .2s}.editor__input:focus{outline:none;border-color:var(--orange)}.editor__section-actions{display:flex;gap:.375rem}.editor__sections{display:flex;flex-direction:column;gap:.625rem}.editor__section-card{border:1.5px solid var(--gray-200);border-radius:10px;padding:.75rem;background:var(--white)}.editor__section-card--breakdown{background:var(--orange-peach);border-color:#ffd4c2}.editor__section-card-top{display:grid;grid-template-columns:28px 1fr 28px;gap:.5rem;align-items:center;margin-bottom:.5rem}.editor__badge{width:28px;height:28px;background:var(--black);color:var(--white);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.editor__section-card--breakdown .editor__badge{background:var(--orange)}.editor__type-tabs{display:flex;background:var(--gray-100);border-radius:8px;padding:3px;margin-bottom:.625rem}.editor__section-card--breakdown .editor__type-tabs{background:#ffffffb3}.editor__type-tab{flex:1;padding:.375rem .5rem;border:none;border-radius:6px;background:transparent;font-family:var(--font);font-size:.6875rem;font-weight:600;color:var(--gray-500);cursor:pointer;transition:all .2s}.editor__type-tab--active{background:var(--white);color:var(--black);box-shadow:0 1px 3px #0000001a}.editor__section-card--breakdown .editor__type-tab--active{background:var(--white);color:var(--orange-dark);font-weight:700}.editor__price-field{display:flex;align-items:center;gap:.5rem;background:var(--gray-100);border-radius:8px;padding:.375rem .625rem;border:1.5px solid var(--gray-200)}.editor__section-card--breakdown .editor__price-field{background:var(--white)}.editor__price-field--compact{padding:.25rem .5rem}.editor__price-prefix{font-size:.75rem;font-weight:700;color:var(--gray-500);flex-shrink:0}.editor__input--price-lg,.editor__input--price-sm{border:none;background:transparent;padding:.375rem 0;text-align:right;font-weight:700;font-size:1rem}.editor__input--price-lg:focus,.editor__input--price-sm:focus{border:none;outline:none}.editor__input--price-sm{font-size:.875rem;width:100%;min-width:0}.editor__breakdown-table{display:flex;flex-direction:column;gap:.375rem}.editor__breakdown-table-head{display:grid;grid-template-columns:1fr 110px 28px;gap:.375rem;padding:0 .25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.editor__breakdown-row{display:grid;grid-template-columns:1fr 110px 28px;gap:.375rem;align-items:center}.editor__breakdown-row .editor__input{font-size:.8125rem;padding:.5rem .625rem}.editor__add-row{width:100%;padding:.4375rem;margin-top:.25rem;border:1.5px dashed #ffb899;border-radius:6px;background:transparent;font-family:var(--font);font-size:.75rem;font-weight:600;color:var(--orange-dark);cursor:pointer;transition:all .2s}.editor__add-row:hover{background:#fff9;border-color:var(--orange)}.editor__add-buttons{display:flex;flex-direction:column;gap:.375rem;margin-top:.625rem}.editor__add-btn{width:100%;padding:.5625rem;border:1.5px dashed var(--gray-200);border-radius:8px;background:var(--white);font-family:var(--font);font-size:.75rem;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .2s}.editor__add-btn:hover{border-color:var(--black);background:var(--gray-100)}.editor__add-btn--breakdown{border-color:#ffd4c2;color:var(--orange-dark);background:var(--orange-peach)}.editor__add-btn--breakdown:hover{border-color:var(--orange);background:#ffe4d6}.editor__grand-total{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;margin-top:.75rem;background:var(--black);color:var(--white);border-radius:10px;font-weight:700;font-size:1rem}.editor__grand-total:has(.editor__grand-total-row){flex-direction:column;align-items:stretch;gap:.375rem;padding:.75rem 1rem}.editor__grand-total-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600}.editor__grand-total-row--discount span:last-child{color:#ff8a65}.editor__grand-total-row--final{padding-top:.375rem;border-top:1px solid rgba(255,255,255,.15);font-size:1rem;font-weight:800}.editor__grand-total span:last-child,.editor__grand-total-row--final span:last-child{color:var(--orange);font-size:1.0625rem}.editor__card--options{margin-bottom:1rem}.editor__checkbox{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;line-height:1.4;color:var(--gray-700);cursor:pointer;margin-top:.5rem}.editor__checkbox input{margin-top:.2rem;accent-color:var(--orange);flex-shrink:0}.editor__custom-terms{margin-top:.75rem;display:flex;flex-direction:column;gap:.375rem}.editor__custom-term{display:grid;grid-template-columns:1fr 28px;gap:.375rem;align-items:center}.editor__add-term{width:100%;padding:.5rem;margin-top:.25rem;border:1.5px dashed var(--gray-200);border-radius:6px;background:transparent;font-family:var(--font);font-size:.75rem;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .2s}.editor__add-term:hover{border-color:var(--orange);color:var(--orange);background:var(--orange-peach)}.editor__btn--save{background:var(--black);color:var(--white)}.editor__btn--save:hover{background:var(--gray-700)}.editor__btn--save:disabled{opacity:.4;cursor:not-allowed}.editor__hint--warn{color:var(--orange-dark);font-weight:600}.history{background:var(--white);border-radius:12px;padding:1rem;box-shadow:0 2px 12px #00000014}.history__title{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-700);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.history__count{background:var(--gray-100);color:var(--gray-500);font-size:.6875rem;padding:.125rem .5rem;border-radius:10px}.history__empty{font-size:.8125rem;color:var(--gray-500);line-height:1.4}.history__list{list-style:none;display:flex;flex-direction:column;gap:.375rem;max-height:280px;overflow-y:auto}.history__item{display:flex;align-items:stretch;border-radius:8px;overflow:hidden;border:1.5px solid var(--gray-100);transition:border-color .2s}.history__item--active{border-color:var(--orange);background:var(--orange-peach)}.history__item-main{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.625rem .75rem;border:none;background:transparent;font-family:var(--font);text-align:left;cursor:pointer;min-width:0}.history__item-main:hover{background:var(--gray-100)}.history__item--active .history__item-main:hover{background:transparent}.history__item-no{font-size:.75rem;font-weight:800;color:var(--orange)}.history__item-client{font-size:.875rem;font-weight:700;color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.history__item-meta{font-size:.6875rem;color:var(--gray-500)}.history__item-delete{width:32px;border:none;background:transparent;color:var(--gray-500);font-size:1.125rem;cursor:pointer;flex-shrink:0;transition:all .2s}.history__item-delete:hover{background:#ffebee;color:#d32f2f}.editor__input--title{font-weight:600}.editor__section-subtotal{display:flex;justify-content:space-between;padding:.5rem .625rem;margin-top:.25rem;background:#fffc;border-radius:6px;font-size:.8125rem;font-weight:700}.editor__section-subtotal span:last-child{color:var(--orange)}.editor__btn-remove{width:28px;height:28px;border:none;background:var(--gray-100);color:var(--gray-500);border-radius:6px;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s}.editor__btn-remove:hover{background:#ffebee;color:#d32f2f}.editor__total{display:flex;justify-content:space-between;padding:.75rem;margin-top:.75rem;background:var(--gray-100);border-radius:8px;font-weight:700;font-size:.9375rem}.editor__total span:last-child{color:var(--orange)}.editor__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.25rem}.editor__btn{padding:.75rem 1rem;border:none;border-radius:8px;font-family:var(--font);font-weight:700;font-size:.875rem;cursor:pointer;transition:all .2s}.editor__btn--primary{background:var(--orange);color:var(--white)}.editor__btn--primary:hover{background:var(--orange-dark)}.editor__btn--secondary{background:var(--gray-100);color:var(--gray-700)}.editor__btn--secondary:hover{background:var(--gray-200)}.editor__btn--small{padding:.375rem .75rem;background:var(--black);color:var(--white);font-size:.75rem}.editor__btn--small:hover{background:var(--gray-700)}.editor__btn--outline{background:transparent;border:1.5px solid var(--black);color:var(--black)}.editor__btn--outline:hover{background:var(--black);color:var(--white)}.editor__btn--tiny{padding:.25rem .5rem;background:var(--orange);color:var(--white);font-size:.6875rem;border:none;border-radius:5px;font-family:var(--font);font-weight:700;cursor:pointer}.editor__btn--tiny:hover{background:var(--orange-dark)}.editor__hint{margin-top:.75rem;font-size:.75rem;color:var(--gray-500);line-height:1.4}.preview-panel{display:flex;flex-direction:column;align-items:center;max-height:calc(100vh - 5rem);overflow-y:auto;padding-bottom:2rem}.preview-panel__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);margin-bottom:.75rem}@media print{@page{size:A4;margin:0}body{background:#fff}.no-print{display:none!important}.app-main{display:block;padding:0;max-width:none}.preview-panel{align-items:stretch}}.quotation-document{display:flex;flex-direction:column;gap:1.5rem}.q-page{--q-price-col: 132px;position:relative;width:210mm;min-height:auto;height:auto;background:#fff;padding:0;box-shadow:0 8px 32px #0000001a;overflow:visible;display:flex;flex-direction:column;font-size:9.5pt;color:#1a1a1a}.q-page--last{min-height:297mm}.q-page--last .q-table{flex:1}.q-page--last .q-footer{margin-top:auto}.q-page:not(.q-page--last) .q-table{flex:none}.q-page:not(.q-page--last) .q-table__body{flex:none}.q-page:not(.q-page--last) .q-footer{margin-top:0;padding-top:3mm}.q-page--last .q-page__stripe{margin-top:auto}.q-page__accent{height:5px;background:linear-gradient(90deg,var(--orange) 0%,var(--orange) 65%,var(--black) 65%,var(--black) 100%);flex-shrink:0}.q-page__stripe{height:4px;background:linear-gradient(90deg,var(--black) 0%,var(--black) 30%,var(--orange) 30%,var(--orange) 100%);flex-shrink:0}.q-header{display:flex;align-items:center;justify-content:space-between;padding:7mm 14mm 5mm;border-bottom:1px solid #eee;flex-shrink:0}.q-header__logo .weborbit-logo__image{height:44px}.q-page--continued{box-shadow:0 4px 20px #00000012}.q-page--continued .q-header__logo .weborbit-logo__image{height:36px}.q-header__right{text-align:right}.q-header__title{font-size:1.375rem;font-weight:800;letter-spacing:.14em;color:var(--black);line-height:1;margin:0}.q-header__ref{display:block;margin-top:.375rem;font-size:.75rem;font-weight:700;color:var(--orange);letter-spacing:.04em}.q-header__page{display:block;margin-top:.25rem;font-size:.6875rem;color:var(--gray-500);font-weight:600}.q-info{display:grid;grid-template-columns:1fr 1fr;gap:4mm;padding:5mm 14mm;flex-shrink:0}.q-info__card{background:#fafafa;border:1px solid #ebebeb;border-radius:6px;padding:4mm 5mm}.q-info__card--meta{display:flex;flex-direction:column;gap:3mm}.q-label{display:block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);margin-bottom:.25rem}.q-info__client{font-size:1.0625rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--black);margin:0;line-height:1.3}.q-info__meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.8125rem}.q-info__meta-row .q-label{margin-bottom:0;flex-shrink:0}.q-info__ref{font-weight:700;color:var(--orange)}.q-table{flex:1;padding:0 14mm;display:flex;flex-direction:column;min-height:0}.q-table__head{display:grid;grid-template-columns:1fr var(--q-price-col);gap:1rem;background:var(--black);color:#fff;padding:2.5mm 4mm;border-radius:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.q-table__col-amount{text-align:right}.q-table__body{flex:1;padding-top:2mm}.q-row{display:grid;grid-template-columns:1fr var(--q-price-col);gap:1rem;align-items:center;padding:2.5mm 4mm;border-bottom:1px solid #f0f0f0;font-size:.9rem}.q-row:last-child{border-bottom:none}.q-row__desc{display:flex;align-items:flex-start;gap:3mm;min-width:0}.q-row__num{flex-shrink:0;width:18px;height:18px;background:var(--black);color:#fff;border-radius:3px;font-size:.625rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}.q-row__amount{text-align:right;font-weight:700;color:var(--orange);font-size:.875rem;white-space:nowrap}.q-row__amount--muted{color:#ccc;font-weight:400}.q-row__amount--sub{color:#555;font-weight:600;font-size:.75rem}.q-row--empty{color:var(--gray-500);font-style:italic;font-size:.8125rem}.q-group{margin-bottom:2mm;border:1px solid #fde8de;border-radius:6px;overflow:hidden;background:#fffaf7}.q-group .q-row{border-bottom-color:#fde8de}.q-group .q-row--heading{background:#fff0e8;border-bottom:1px solid #ffd4c2}.q-group .q-row--heading .q-row__num{background:var(--orange)}.q-row--sub{padding-left:6mm;font-size:.75rem}.q-row__bullet{width:4px;height:4px;border-radius:50%;background:var(--orange);flex-shrink:0;margin-top:5px}.q-row--subtotal{background:#fff5f0;font-size:.75rem;font-weight:700;color:var(--gray-700);border-top:1px dashed #ffd4c2;border-bottom:none}.q-row--subtotal .q-row__amount{font-size:.8125rem}.q-summary{margin:4mm 14mm 0 auto;width:68mm;flex-shrink:0}.q-summary__row{display:flex;justify-content:space-between;align-items:center;padding:2mm 0;font-size:.8125rem;font-weight:600;color:var(--gray-700);border-bottom:1px solid #f0f0f0}.q-summary__row span:last-child{font-weight:700;color:var(--black)}.q-summary__row--discount span:last-child{color:#c62828}.q-summary__row--total{border-bottom:none;border-top:2px solid var(--black);margin-top:1mm;padding-top:3mm;font-size:.9375rem;font-weight:800;color:var(--black)}.q-summary__row--total span:last-child{color:var(--orange);font-size:1.0625rem}.q-terms{margin:4mm 14mm 0;padding:3mm 4mm;background:#fafafa;border-left:3px solid var(--orange);border-radius:0 4px 4px 0;flex-shrink:0}.q-terms ul{list-style:none;margin:0;padding:0}.q-terms li{font-size:.6875rem;color:var(--gray-700);line-height:1.5;padding-left:.75rem;position:relative}.q-terms li:before{content:"–";position:absolute;left:0;color:var(--orange)}.q-terms li+li{margin-top:.125rem}.q-thanks{margin:4mm 14mm 0;text-align:center;font-size:.75rem;font-style:italic;color:var(--gray-500);line-height:1.5;flex-shrink:0}.q-footer{display:flex;justify-content:space-between;align-items:flex-end;padding:5mm 14mm 4mm;flex-shrink:0}.q-contact{display:flex;flex-direction:column;gap:1.5mm}.q-contact__item{display:flex;align-items:center;gap:2mm;font-size:.6875rem;font-weight:600;color:var(--gray-700)}.q-contact__icon{width:14px;height:14px;color:var(--orange);flex-shrink:0}.q-signature{text-align:center;min-width:45mm}.q-signature__img{display:block;height:64px;width:auto;max-width:50mm;object-fit:contain;margin:0 auto 1mm}.q-signature__fallback{font-family:var(--font-signature);font-size:1.75rem;display:block;margin-bottom:1mm}.q-signature__line{height:1px;background:#bbb;margin-bottom:1.5mm}.q-signature__label{font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--black)}.q-continued{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:600;color:var(--gray-500);padding-top:2mm;border-top:1px dashed #ddd}.weborbit-logo{display:flex;align-items:center}.weborbit-logo__image{height:44px;width:auto;object-fit:contain}@media print{.quotation-document{gap:0}.q-page{box-shadow:none;width:100%;height:auto;min-height:auto;page-break-after:always}.q-page--last{min-height:297mm}.q-page:last-child{page-break-after:avoid}.q-page__accent,.q-page__stripe,.q-table__head,.q-group,.q-summary__row--total span:last-child{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
