:root{--warm-gradient: linear-gradient(135deg, #FFD600 0%, #FF6D00 50%, #D50000 100%);--warm-start: #FFD600;--warm-mid: #FF6D00;--warm-end: #D50000;--cool-gradient: linear-gradient(135deg, #00C853 0%, #2979FF 50%, #AA00FF 100%);--cool-start: #00C853;--cool-mid: #2979FF;--cool-end: #AA00FF;--black: #000000;--white: #ffffff;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-400: #bdbdbd;--gray-600: #757575;--gray-800: #424242;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--border: 3px solid var(--black);--border-light: 2px solid var(--gray-300);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:var(--gray-50);color:var(--black)}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--black);color:var(--white);display:flex;flex-direction:column;padding:var(--space-lg);position:fixed;top:0;left:0;bottom:0;z-index:100;border-right:4px solid var(--gray-800)}.sidebar-brand{margin-bottom:var(--space-2xl)}.brand-text{font-size:1.8rem;font-weight:700;letter-spacing:-1px}.brand-highlight{background:var(--warm-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-links{display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.nav-link{display:block;padding:var(--space-md);color:var(--gray-400);text-decoration:none;font-weight:600;font-size:1rem;border:3px solid transparent;transition:all .15s}.nav-link:hover{color:var(--white);border-color:var(--gray-600)}.nav-link.active{color:var(--black);background:var(--warm-gradient);border-color:transparent}.sidebar-actions{margin-top:auto}.btn-add-quote{width:100%;font-size:1rem}.main-content{flex:1;margin-left:240px;padding:var(--space-xl) var(--space-xl) var(--space-2xl);min-width:0}.page-title{font-size:2.2rem;font-weight:700;letter-spacing:-1px;line-height:1.1}.section-title{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-md)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);gap:var(--space-md)}.header-actions{display:flex;align-items:center;gap:var(--space-md)}.back-link{color:var(--gray-600);text-decoration:none;font-weight:600;font-size:.875rem;display:block;margin-bottom:var(--space-xs)}.back-link:hover{color:var(--black)}.breadcrumb{display:flex;align-items:center;gap:0;font-size:.8rem;font-weight:600;margin-bottom:var(--space-xs)}.breadcrumb a{color:var(--gray-600);text-decoration:none;transition:color .15s}.breadcrumb a:hover{color:var(--black);text-decoration:underline}.breadcrumb span:last-child{color:var(--gray-900)}.breadcrumb-sep{margin:0 6px;color:var(--gray-400)}.input-warning{border-color:#e65100!important}.form-warning{display:block;margin-top:4px;font-size:.78rem;font-weight:600;color:#e65100}.btn-primary{background:var(--warm-gradient);color:var(--black);border:var(--border);padding:var(--space-sm) var(--space-lg);font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;transition:transform .1s}.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--black)}.btn-primary:active{transform:translate(0);box-shadow:none}.btn-secondary{background:var(--white);color:var(--black);border:var(--border);padding:var(--space-sm) var(--space-lg);font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;transition:transform .1s}.btn-secondary:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--black)}.btn-small{padding:var(--space-xs) var(--space-sm);font-size:.8rem;border-width:2px}.btn-danger{background:var(--white);color:var(--warm-end);border:2px solid var(--warm-end);padding:var(--space-xs) var(--space-sm);font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit}.btn-danger:hover{background:var(--warm-end);color:var(--white)}.card{background:var(--white);border:var(--border);padding:var(--space-lg);margin-bottom:var(--space-lg)}.stats-row{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.stat-card{background:var(--white);border:var(--border);padding:var(--space-lg);min-width:200px;flex:1}.stat-card.stat-total{background:var(--black);color:var(--white)}.stat-card.stat-total .stat-value{background:var(--warm-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-xs);opacity:.7}.stat-value{display:block;font-size:2rem;font-weight:700;letter-spacing:-1px}.stat-sub{display:block;font-size:.75rem;opacity:.5;margin-top:var(--space-xs)}.horizon-selector{display:flex;border:var(--border)}.horizon-btn{padding:var(--space-sm) var(--space-md);background:var(--white);border:none;border-right:var(--border);font-weight:700;font-size:.875rem;cursor:pointer;font-family:inherit}.horizon-btn:last-child{border-right:none}.horizon-btn.active{background:var(--black);color:var(--white)}.horizon-btn:hover:not(.active){background:var(--gray-100)}.chart-container{width:100%;overflow:hidden}.project-breakdown{display:flex;flex-direction:column}.breakdown-row{display:flex;align-items:center;padding:var(--space-md);border-bottom:var(--border-light);text-decoration:none;color:var(--black);transition:background .1s}.breakdown-row:last-child{border-bottom:none}.breakdown-row:hover{background:var(--gray-100)}.breakdown-name{flex:1;font-weight:600}.breakdown-status{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--gray-600);margin-right:var(--space-lg)}.breakdown-amount{font-weight:700;font-size:1.1rem}.alerts-list{margin-bottom:var(--space-lg)}.alert-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-sm);border:var(--border);font-weight:600;font-size:.875rem}.alert-badge{font-size:1.2rem;flex-shrink:0}.alert-message{flex:1}.alert-project{font-size:.75rem;opacity:.8;text-transform:uppercase;letter-spacing:1px}.status-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:2px solid var(--black)}.status-badge.planned{background:var(--gray-200)}.status-badge.ongoing{background:var(--warm-gradient)}.status-badge.completed{background:var(--cool-gradient);color:var(--white)}.status-badge.paid{background:var(--cool-start);color:var(--white);border-color:var(--cool-start)}.status-badge.just-paid{animation:justPaid .5s ease-out}@keyframes justPaid{0%{transform:scale(.6) rotate(-8deg);opacity:0}50%{transform:scale(1.15) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.status-badge.pending{background:var(--gray-200)}.status-badge.clickable{cursor:pointer}.status-badge.clickable:hover{opacity:.8}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.project-card{background:var(--white);border:var(--border);color:var(--black);display:flex;flex-direction:column;transition:transform .1s}.project-card:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--black)}.project-card-link{display:flex;flex-direction:column;flex:1;padding:var(--space-lg);text-decoration:none;color:var(--black)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg)}.project-card-name{font-size:1.3rem;font-weight:700;letter-spacing:-.5px}.project-card-body{display:flex;flex-wrap:wrap;gap:var(--space-xl);margin-bottom:var(--space-lg);flex:1}.project-card-stat .stat-label{font-size:.65rem}.project-card-stat .stat-value{font-size:1.4rem}.project-card-footer{border-top:var(--border-light);padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between}.form-card{max-width:fit-content;min-width:640px}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm)}.input{width:100%;padding:var(--space-md);border:var(--border);font-size:1rem;font-family:inherit;font-weight:500;background:var(--white)}.input:focus{outline:none;box-shadow:4px 4px 0 var(--black)}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-end}.inline-form{display:flex;gap:var(--space-md);align-items:flex-end;margin-bottom:var(--space-lg)}.inline-form .input{flex:1}.payment-schedule-editor{padding:var(--space-md) 0}.schedule-summary{display:flex;gap:var(--space-xl);margin-bottom:var(--space-md);font-size:.9rem}.schedule-table{width:100%;border-collapse:collapse;font-size:.875rem}.schedule-table th{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:var(--border);font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--gray-600)}.schedule-table td{padding:var(--space-sm) var(--space-md);border-bottom:var(--border-light);vertical-align:middle}.schedule-table tbody tr:nth-child(2n){background:#fafafa}.schedule-table tbody tr:hover{background:#f5f0eb}.schedule-table .row-paid{opacity:.6}.schedule-table .row-paid:nth-child(2n){background:#f7f7f5}.schedule-table input[type=date],.schedule-table input[type=number]{border:2px solid var(--gray-300);padding:var(--space-xs) var(--space-sm);font-family:inherit;font-size:.8rem;width:100%}.input-amount{max-width:120px}.actions-cell{display:flex;gap:var(--space-xs);align-items:center}.new-row td{padding-top:var(--space-md);border-bottom:none}.timeline{position:relative;padding-left:var(--space-xl)}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:3px;background:var(--cool-gradient)}.timeline-item{position:relative;display:flex;align-items:flex-start;gap:var(--space-md);padding-bottom:var(--space-lg)}.timeline-dot{position:absolute;left:calc(-1 * var(--space-xl) + 2px);top:4px;width:16px;height:16px;border:3px solid var(--black);background:var(--white)}.timeline-item.paid .timeline-dot{background:var(--cool-start)}.timeline-item.pending .timeline-dot{background:var(--warm-mid)}.timeline-date{font-weight:700;font-size:.8rem;min-width:100px;color:var(--gray-600)}.timeline-content{display:flex;flex-direction:column;gap:var(--space-xs)}.timeline-amount{font-weight:700;font-size:1.1rem}.timeline-quote{font-size:.8rem;color:var(--gray-600)}.timeline-paid{font-size:.75rem;color:var(--cool-start);font-weight:600}.quote-block{border:var(--border-light);margin-bottom:var(--space-md)}.quote-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);cursor:pointer;transition:background .1s}.quote-header:hover{background:var(--gray-100)}.quote-info h4{font-size:1rem;font-weight:700}.quote-amount{font-size:.875rem;color:var(--gray-600)}.quote-actions{display:flex;align-items:center;gap:var(--space-md)}.expand-icon{font-size:.75rem;color:var(--gray-600)}@media(max-width:768px){.sidebar{width:64px;padding:var(--space-md) var(--space-sm)}.brand-text{font-size:1rem}.brand-highlight{display:none}.main-content{margin-left:64px;padding:var(--space-md)}.nav-link{font-size:0;padding:var(--space-sm);text-align:center}.nav-link:first-letter{font-size:1rem}.btn-add-quote{font-size:0;padding:var(--space-sm)}.btn-add-quote:before{content:"+";font-size:1.2rem}.projects-grid{grid-template-columns:1fr}.stats-row{flex-direction:column}.page-title{font-size:1.6rem}.schedule-table{font-size:.75rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:300px;font-size:1rem;font-weight:700;color:var(--gray-600)}.loading-spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top:4px solid var(--black);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-container{border:var(--border);border-color:var(--warm-end);background:var(--white);padding:var(--space-lg);margin-bottom:var(--space-lg)}.error-container h3{color:var(--warm-end);font-size:1.1rem;margin-bottom:var(--space-sm)}.error-container p{color:var(--gray-600);font-size:.9rem;margin-bottom:var(--space-sm)}.progress-bar{width:80px;height:20px;background:var(--gray-200);border:2px solid var(--black);position:relative;overflow:hidden}.progress-fill{height:100%;background:var(--cool-gradient);transition:width .3s}.progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--black);mix-blend-mode:difference}.project-dates{display:flex;gap:var(--space-xl);font-size:.9rem}.date-block{display:flex;flex-direction:column;gap:var(--space-xs)}.project-card-dates{font-size:.75rem;color:var(--gray-600);padding:0 0 var(--space-sm)}.movements-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.input-compact{padding:var(--space-xs) var(--space-sm);font-size:.85rem;min-width:0}.btn-remove{background:none;border:2px solid var(--gray-300);color:var(--gray-600);font-size:1.2rem;line-height:1;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s}.btn-remove:hover{border-color:var(--warm-end);color:var(--warm-end);background:var(--gray-50)}.btn-link{background:none;border:none;color:var(--cool-mid);text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}.form-row{display:flex;gap:var(--space-md)}.form-row .form-group{flex:1}.quote-expanded{padding:0 16px 16px}.quote-toolbar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.quote-add-row{padding:16px 0 4px;border-top:2px solid var(--gray-200);margin-top:8px;display:flex;justify-content:center}.reassign-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;background:var(--gray-50);border:2px solid var(--gray-200)}.reassign-label{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.reassign-options{display:flex;gap:6px;flex-wrap:wrap}.editable-table input.input-compact{border:2px solid transparent;background:var(--gray-50);transition:border-color .15s}.editable-table input.input-compact:focus{border-color:var(--cool-mid);background:#fff}.editable-table input.input-saving{border-color:var(--warm-mid);opacity:.7}.btn-mark-paid{background:linear-gradient(135deg,var(--warm-start),var(--warm-end));color:#fff;border:none;font-weight:700;font-size:.75rem;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:opacity .15s}.btn-mark-paid:hover{opacity:.85}.btn-mark-paid:disabled{opacity:.5;cursor:wait}.header-right{display:flex;align-items:center;gap:var(--space-md)}.alert-bell{position:relative}.alert-bell-btn{position:relative;background:none;border:2px solid var(--gray-200);border-radius:4px;width:42px;height:42px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.alert-bell-btn:hover{border-color:var(--warm-mid)}.bell-icon{font-size:1.25rem;line-height:1}.alert-bell-count{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,var(--warm-start),var(--warm-end));color:#fff;font-size:.7rem;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.alert-bell-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:400px;overflow-y:auto;background:#fff;border:2px solid var(--gray-900);box-shadow:6px 6px 0 var(--gray-900);z-index:100;padding:var(--space-sm)}.alert-bell-empty{padding:var(--space-md);text-align:center;color:#757575;margin:0}.table-scroll{overflow-x:auto}.payments-table{min-width:800px}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sortable:hover{color:var(--warm-mid)}.table-link{color:var(--cool-mid);text-decoration:none;font-weight:600}.table-link:hover{text-decoration:underline}.filter-group{display:flex;gap:0}.filter-bar{margin-bottom:var(--space-md)}.filter-bar-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.filter-search{min-width:180px;max-width:240px}.filter-select{min-width:140px;max-width:200px}.filter-date{width:140px}.filter-date-sep{color:#999;font-size:.9rem}.filter-bar-count{margin-top:var(--space-sm);font-size:.8rem;color:#757575}.cell-quote{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.btn-icon-delete{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px;line-height:1;opacity:.35;transition:opacity .15s,transform .15s}.btn-icon-delete:hover{opacity:1;transform:scale(1.15)}.btn-icon-delete-sm{font-size:.9rem}.btn-icon-delete-text{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:#555;opacity:1}.btn-icon-delete-text:hover{color:var(--warm-end)}.quote-ratio{font-size:.85rem;font-weight:700;color:#616161;white-space:nowrap}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.confirm-modal{background:#fff;border:3px solid var(--gray-900);box-shadow:8px 8px 0 var(--gray-900);padding:var(--space-lg);max-width:420px;width:90%}.confirm-title{font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-sm)}.confirm-message{color:#424242;margin:0 0 var(--space-md);line-height:1.5}.confirm-dismiss-label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--gray-600);margin-bottom:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none}.confirm-dismiss-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.confirm-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.btn-confirm-delete{background:linear-gradient(135deg,var(--warm-mid),var(--warm-end));color:#fff;border:2px solid var(--gray-900);font-family:inherit;font-weight:700;font-size:.875rem;padding:8px 20px;cursor:pointer;transition:opacity .15s}.btn-confirm-delete:hover{opacity:.85}.project-card-bu{display:inline-block;font-size:.75rem;font-weight:600;color:#555;background:#f0f0f0;border:1px solid #ddd;padding:2px 8px;margin-top:4px}.project-bu-badge{display:inline-block;font-size:.8rem;font-weight:600;color:#555;background:#f0f0f0;border:1px solid #ddd;padding:2px 10px;margin-top:4px}.bu-selector{display:flex;align-items:center;gap:8px;margin-top:4px}.bu-create-row{display:flex;gap:var(--space-sm);align-items:flex-end}.bu-create-row .input{flex:1}.bu-create-form{margin-bottom:var(--space-md)}.bu-project-links{display:flex;flex-wrap:wrap;gap:6px}.bu-project-chip{display:inline-block;font-size:.8rem;font-weight:600;color:var(--gray-900);background:#f5f0eb;border:1px solid #ddd;padding:2px 10px;text-decoration:none;transition:background .15s}.bu-project-chip-link{cursor:pointer}.bu-project-chip:hover{background:#ece4db}.bu-project-chip-link:hover{background:var(--warm-start);color:var(--white);border-color:var(--warm-start)}.editable-title{cursor:pointer;position:relative}.editable-title:hover .edit-hint{opacity:1}.edit-hint{font-size:.7em;margin-left:6px;opacity:0;color:var(--gray-500);transition:opacity .15s}.btn-edit-inline{background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:600;margin-left:8px;opacity:.5;color:var(--gray-600);padding:2px 6px;line-height:1;vertical-align:middle;transition:opacity .15s,color .15s;display:inline-flex;align-items:center;gap:3px}.btn-edit-inline:hover{opacity:1;color:var(--warm-mid)}.editable-name{margin-bottom:var(--space-xs)}.input-title{font-size:1.4rem;font-weight:800;padding:4px 8px;width:100%;max-width:400px}.input-quote-name{font-size:.95rem;font-weight:700;padding:2px 8px;width:200px}.total-amount-row{display:flex;align-items:center;gap:var(--space-sm)}.total-amount-row .input{flex:1;max-width:240px}.form-label-sub{font-weight:400;font-size:.78rem;color:var(--gray-500)}.movements-total-row{border-top:2px solid var(--gray-900)}.movements-total-row td{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.project-card-progress{padding:0 var(--space-md) var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.progress-bar-card{flex:1;height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.progress-fill-card{height:100%;background:linear-gradient(90deg,var(--warm-start),var(--warm-mid),var(--warm-end));border-radius:3px;transition:width .3s ease}.progress-label-card{font-size:.72rem;font-weight:700;color:var(--gray-600);white-space:nowrap;min-width:55px;text-align:right}.ht-ttc-summary{display:flex;align-items:stretch;gap:0;margin-bottom:var(--space-md);border:2px solid var(--gray-200);background-color:#f9f7f5}.ht-ttc-cell{display:flex;flex-direction:column;gap:4px;padding:var(--space-sm) var(--space-md);background:#fff;border-right:1px solid var(--gray-200);cursor:pointer;transition:opacity .2s,background .2s}.ht-ttc-cell:last-child{border-right:none}.ht-ttc-dim{background:unset}.ht-ttc-dim .ht-ttc-input,.ht-ttc-dim select.ht-ttc-input{background:#fff6;border-color:#0000001a}.ht-ttc-dim:hover .ht-ttc-input,.ht-ttc-dim:hover select.ht-ttc-input{background:#ffffffb3;border-color:#0003}.ht-ttc-active{background:unset;cursor:default}.ht-ttc-active .ht-ttc-input,.ht-ttc-active select.ht-ttc-input{background:#fff;border-color:var(--gray-900)}.ht-ttc-ttc{opacity:1;background:#f9f7f5;cursor:default;border-left:2px solid var(--gray-400);font-weight:800}.ht-ttc-ttc .ht-ttc-input,.ht-ttc-ttc select.ht-ttc-input{background:#f9f7f5;border-color:#ddd}.ht-ttc-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600)}.ht-ttc-value{font-size:1.1rem;font-weight:700;color:var(--gray-900);margin-top:2px}.ht-ttc-input-row{display:flex;align-items:center;gap:4px}.ht-ttc-input{width:120px;font-size:.85rem;padding:3px 6px}.ht-ttc-input-sm{width:100px}.ht-ttc-unit{font-size:.8rem;font-weight:600;color:var(--gray-500);margin-right:20px}.ht-ttc-auto-btn{background:none;border:1px solid var(--gray-300);cursor:pointer;font-size:.9rem;padding:2px 6px;color:var(--gray-600);line-height:1}.ht-ttc-auto-btn:hover{border-color:var(--warm-mid);color:var(--gray-900)}.ht-ttc-vat-row{display:flex;align-items:center;gap:6px}.ht-ttc-vat-field{display:flex;align-items:center;gap:4px;cursor:pointer;transition:all .15s}.ht-ttc-vat-dim .ht-ttc-input{background:#f9f7f5;border-color:#ddd}.ht-ttc-vat-dim:hover .ht-ttc-input{background:#f0ece8;border-color:#ccc}.ht-ttc-vat-active{cursor:default}.ht-ttc-vat-active .ht-ttc-input{background:#fff;border-color:var(--gray-900)}.login-backdrop{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gray-50)}.login-card{width:100%;max-width:380px;padding:2.5rem 2rem 2rem;border:3px solid var(--black);background:var(--white);box-shadow:6px 6px 0 var(--black);text-align:center}.login-brand{font-size:2rem;font-weight:900;letter-spacing:-.04em;margin:0 0 .25rem}.login-brand .brand-highlight{background:var(--warm-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-hint{font-size:.8rem;color:var(--gray-600);margin:0 0 1.5rem;line-height:1.5}.login-error{font-size:.8rem;color:var(--warm-end);font-weight:700;margin:0 0 1rem}.login-label{display:block;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600);margin-bottom:1rem}.login-input{width:100%;margin-top:.35rem;padding:.6rem .75rem;font-size:1rem;border:2px solid var(--gray-300);background:var(--gray-50);transition:border-color .15s}.login-input:focus{border-color:var(--black);background:var(--white);outline:none}.login-btn{width:100%;margin-top:.5rem;padding:.75rem;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--white);background:var(--warm-gradient);border:2px solid var(--black);cursor:pointer;transition:transform .1s,box-shadow .1s}.login-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--black)}.login-btn:active{transform:translate(0);box-shadow:none}@keyframes login-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.login-shake{animation:login-shake .4s ease-in-out}.sidebar-footer{margin-top:auto;padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.15)}.btn-logout{width:100%;padding:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff9;background:transparent;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:color .15s,border-color .15s}.btn-logout:hover{color:#fff;border-color:#ffffff80}.btn-lang-toggle{width:100%;padding:.45rem;margin-bottom:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.03em;color:#fffc;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.btn-lang-toggle:hover{background:#ffffff26;color:#fff}.quote-vat-tag,.quote-currency-tag,.quote-supplier-tag,.currency-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:1px 5px;margin-left:6px;border:1px solid var(--gray-300);background:#f0f0f0;color:var(--gray-600);vertical-align:middle}.quote-supplier-tag{background:#e8f5e9;border-color:#a5d6a7;color:#2e7d32}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid var(--black);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;animation:toastIn .35s ease-out;min-width:220px;max-width:400px;box-shadow:4px 4px 0 var(--black)}.toast-success{background:#e8f5e9;color:#2e7d32}.toast-error{background:#ffebee;color:#c62828}.toast-info{background:#e3f2fd;color:#1565c0}.toast-icon{font-size:1rem;flex-shrink:0}.toast-message{flex:1}@keyframes toastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}
