:root{--color-text:#fbf8da;--color-accent:#d5ab16;--color-card-bg:rgba(65,83,97,.09);--color-border:hsla(55,80%,92%,.1);--color-danger:#c83d17;--color-success:#16d58b;--border-radius-sm:8px;--border-radius-md:12px}.invoice-generator-container{width:100%;height:100%;display:flex;flex-direction:column}.invoice-generator-layout{display:grid;grid-template-columns:600px 1fr;grid-gap:24px;gap:24px;height:calc(100vh - 200px);min-height:700px;flex:1 1}.invoice-form-panel{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:20px;overflow-y:auto;max-height:100%;min-width:0}.form-section{margin-bottom:28px}.form-section h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:16px;font-weight:600;color:var(--color-accent);padding-bottom:8px;border-bottom:1px solid var(--color-border)}.template-selection{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.template-card{background:rgba(65,83,97,.15);border:2px solid transparent;border-radius:var(--border-radius-sm);padding:12px;text-align:left;cursor:pointer;transition:all .2s}.template-card:hover{background:rgba(65,83,97,.25);border-color:rgba(213,171,22,.3)}.template-card.selected{background:rgba(213,171,22,.1);border-color:var(--color-accent)}.template-card h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--color-text)}.template-card p{margin:0;font-size:12px;color:hsla(55,80%,92%,.7);line-height:1.3}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px;min-width:0}.form-group.span-2{grid-column:span 2}.form-group label{font-size:14px;font-weight:500;color:hsla(55,80%,92%,.8)}.form-group input,.form-group select,.form-group textarea{background:rgba(65,83,97,.15);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:12px 14px;color:var(--color-text);font-size:14px;transition:border-color .2s;min-width:0;width:100%;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:80px}.line-items-container{display:flex;flex-direction:column;gap:12px}.line-item{background:rgba(65,83,97,.1);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:14px}.line-item-row{display:grid;grid-template-columns:1fr 80px 100px 100px 36px;grid-gap:8px;gap:8px;align-items:center;width:100%;min-width:0}.line-item-row input{min-width:0;width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:4px;background:rgba(65,83,97,.2);color:var(--color-text);font-size:13px;transition:all .2s ease;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.line-item-row input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(213,171,22,.1)}.line-item-row input[type=number]{text-align:right;padding-right:6px}.line-item-row input::placeholder{color:hsla(55,80%,92%,.4);font-size:12px}.amount-display{background:rgba(213,171,22,.1)!important;color:var(--color-accent)!important;font-weight:600;text-align:right;font-size:12px}.remove-btn{background:rgba(200,61,23,.1);border:1px solid rgba(200,61,23,.3);color:var(--color-danger);width:32px;height:32px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease;flex-shrink:0}.remove-btn:hover{background:rgba(200,61,23,.2);border-color:rgba(200,61,23,.5);transform:translateY(-1px)}.add-item-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px dashed var(--color-border);border-radius:var(--border-radius-sm);padding:12px;color:var(--color-accent);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;margin-top:8px}.add-item-btn:hover{background:rgba(213,171,22,.05);border-color:var(--color-accent)}.stay-details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}.stay-details-grid .form-group{margin:0}.tax-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.tax-input-group{display:flex;flex-direction:column;gap:8px;max-width:160px;margin-left:auto}.tax-input-group label{font-size:14px;font-weight:500;color:hsla(55,80%,92%,.8)}.tax-input-group input{text-align:center;min-width:0;width:100%;box-sizing:border-box;font-size:14px;padding:12px 14px}.form-actions{display:flex;gap:12px;padding-top:20px;border-top:1px solid var(--color-border);flex-wrap:wrap}.kyan-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--border-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;text-decoration:none;white-space:nowrap;flex-shrink:0}.kyan-btn:disabled{opacity:.5;cursor:not-allowed}.kyan-btn-primary{background:var(--color-accent);color:#212a31}.kyan-btn-primary:hover:not(:disabled){background:#c39a14;transform:translateY(-1px);box-shadow:0 4px 12px rgba(213,171,22,.3)}.kyan-btn-secondary{background:rgba(156,163,175,.15);color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.kyan-btn-secondary:hover:not(:disabled){background:rgba(156,163,175,.25);border-color:#9ca3af}.invoice-preview-panel{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);display:flex;flex-direction:column;overflow:hidden;min-width:0;max-width:100%}.preview-header{padding:14px 20px;border-bottom:1px solid var(--color-border);background:rgba(65,83,97,.15);flex-shrink:0}.preview-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text)}.preview-content{flex:1 1;overflow-y:auto;padding:16px;background:hsla(0,0%,100%,.02);min-height:0;max-height:100%;display:flex;justify-content:center;align-items:flex-start}.invoice-document{background:#fff;color:#1f2937;padding:24px;border-radius:var(--border-radius-sm);box-shadow:0 4px 20px rgba(0,0,0,.1);width:90%;max-width:600px;min-height:500px;box-sizing:border-box;transform-origin:top center}@media (min-width:1200px){.invoice-document{width:80%;max-width:750px}}@media (min-width:1400px){.invoice-document{width:75%;max-width:850px}}@media (min-width:1600px){.invoice-document{width:70%;max-width:950px}}@media (min-width:1920px){.invoice-document{width:65%;max-width:1050px}}.invoice-header{justify-content:space-between;margin-bottom:32px;padding-bottom:16px;border-bottom:3px solid var(--color-accent);flex-wrap:wrap;gap:16px}.company-info,.invoice-header{display:flex;align-items:flex-start}.company-info{gap:12px;flex-shrink:0}.company-details h1{margin:0 0 6px;font-size:20px;font-weight:700;color:var(--color-accent)}.company-details p{margin:1px 0;font-size:12px;color:#6b7280;line-height:1.3}.invoice-meta{text-align:right;flex-shrink:0}.invoice-meta h2{margin:0 0 14px;font-size:28px;font-weight:700;color:#1f2937;letter-spacing:1px}.invoice-details{display:flex;flex-direction:column;gap:6px}.detail-row{display:flex;justify-content:space-between;gap:14px;font-size:12px;min-width:160px}.detail-row span:first-child{font-weight:600;color:#6b7280}.detail-row span:last-child{color:#1f2937;font-weight:500}.bill-to-section{margin-bottom:28px}.bill-to-section h3{margin:0 0 8px;font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.client-name{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 6px}.client-info p{margin:2px 0;font-size:12px;color:#6b7280}.stay-info{margin-bottom:24px;padding:14px;background:#f8fafc;border-radius:var(--border-radius-sm);border-left:4px solid var(--color-accent)}.stay-info h3{margin:0 0 6px;font-size:15px;font-weight:600;color:#1f2937}.stay-info p{margin:0;font-size:12px;color:#6b7280}.invoice-table{width:100%;border-collapse:collapse;margin-bottom:24px;border-radius:var(--border-radius-sm);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.invoice-table thead{background:#f1f5f9}.invoice-table th{padding:10px;text-align:left;font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.invoice-table td{padding:10px;font-size:12px;color:#1f2937;border-bottom:1px solid #e2e8f0}.invoice-table tbody tr:hover{background:#f9fafb}.invoice-table .text-right{text-align:right}.discount-row td{color:var(--color-success);font-weight:600}.invoice-totals{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-bottom:28px}.totals-row{display:flex;justify-content:space-between;gap:24px;min-width:220px;padding:4px 0;font-size:13px}.totals-row span:first-child{font-weight:600;color:#6b7280}.totals-row span:last-child{font-weight:700;color:#1f2937;text-align:right}.totals-row.total-due{border-top:2px solid var(--color-accent);padding-top:8px;margin-top:4px;font-size:16px;color:#1f2937}.totals-row.total-due span{color:#1f2937}.invoice-notes{margin-bottom:28px;padding:14px;background:#f8fafc;border-radius:var(--border-radius-sm);border-left:4px solid #6b7280}.invoice-notes h4{margin:0 0 6px;font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px}.invoice-notes p{margin:0;font-size:12px;color:#6b7280;line-height:1.5;white-space:pre-line}.invoice-footer{text-align:center;padding-top:24px;border-top:1px solid #e2e8f0;color:#9ca3af}.invoice-footer p{margin:4px 0;font-size:12px}.invoice-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.preview-modal-content{background:var(--color-background);border-radius:var(--border-radius-md);width:90vw;max-width:1000px;height:90vh;display:flex;flex-direction:column;overflow:hidden}.preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border);background:var(--color-card-bg)}.preview-modal-header h3{margin:0;color:var(--color-text);font-size:18px}.preview-modal-actions{display:flex;gap:12px}.preview-modal-body{flex:1 1;overflow-y:auto;padding:24px;background:hsla(0,0%,100%,.02);display:flex;justify-content:center;align-items:flex-start}@media (max-width:1600px){.invoice-generator-layout{grid-template-columns:550px 1fr}}@media (max-width:1400px){.invoice-generator-layout{grid-template-columns:500px 1fr}}@media (max-width:1200px){.invoice-generator-layout{grid-template-columns:1fr;gap:16px;height:auto;min-height:auto}.invoice-form-panel,.preview-content{max-height:600px}}@media (max-width:768px){.form-grid,.line-item-row,.stay-details-grid{grid-template-columns:1fr}.line-item-row{gap:8px}.line-item-row input{width:100%;max-width:100%}.remove-btn{width:100%;height:32px;margin-top:8px}.tax-input-group{max-width:100%;margin-left:0}.invoice-header{flex-direction:column;gap:20px}.invoice-header,.invoice-meta{text-align:center}.company-info,.detail-row{justify-content:center}.invoice-document{padding:12px}.form-actions,.preview-modal-actions{flex-direction:column}}@media (max-width:480px){.invoice-generator-layout{gap:12px}.invoice-form-panel,.preview-content{padding:16px}.invoice-document{padding:8px}.invoice-meta h2{font-size:20px}.company-details h1{font-size:16px}.totals-row{gap:16px;min-width:180px;font-size:12px}.totals-row.total-due{font-size:14px}}.document-mode-toggle{display:flex;gap:4px;background:rgba(65,83,97,.15);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:4px;margin-bottom:20px;width:-moz-fit-content;width:fit-content}.mode-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;border:none;background:transparent;color:hsla(55,80%,92%,.6);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn:hover{color:var(--color-text);background:rgba(65,83,97,.25)}.mode-btn.active{background:var(--color-accent);color:#1a2128;font-weight:600}.stmt-booking-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.stmt-booking-row{display:flex;gap:8px;align-items:flex-start;background:rgba(65,83,97,.1);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:10px}.stmt-booking-fields{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:6px;gap:6px;flex:1 1}.stmt-booking-fields input{background:rgba(65,83,97,.15);border:1px solid var(--color-border);border-radius:4px;padding:7px 10px;color:var(--color-text);font-size:13px;min-width:0;width:100%;box-sizing:border-box}.stmt-booking-fields input:focus{outline:none;border-color:var(--color-accent)}.stmt-booking-fields input::placeholder{color:hsla(55,80%,92%,.35);font-size:12px}.stmt-input-sm{font-size:12px!important}.stmt-subtotal-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(213,171,22,.08);border:1px solid rgba(213,171,22,.2);border-radius:6px;margin-top:10px;font-size:13px;font-weight:600;color:var(--color-accent)}.stmt-expense-rows{display:flex;flex-direction:column;gap:8px}.stmt-expense-row{display:flex;gap:8px;align-items:center}.stmt-expense-desc{flex:1 1;background:rgba(65,83,97,.15);border:1px solid var(--color-border);border-radius:4px;padding:8px 10px;color:var(--color-text);font-size:13px;min-width:0}.stmt-expense-desc:focus{outline:none;border-color:var(--color-accent)}.stmt-expense-amount{width:100px;flex-shrink:0;background:rgba(65,83,97,.15);border:1px solid var(--color-border);border-radius:4px;padding:8px 10px;color:var(--color-text);font-size:13px;text-align:right}.stmt-expense-amount:focus{outline:none;border-color:var(--color-accent)}.stmt-expense-amount::placeholder,.stmt-expense-desc::placeholder{color:hsla(55,80%,92%,.35);font-size:12px}.stmt-expense-item{display:flex;flex-direction:column;gap:4px;background:rgba(65,83,97,.1);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:10px}.stmt-expense-item .stmt-expense-row{display:flex;gap:8px;align-items:center}.stmt-expense-notes{width:100%;background:rgba(65,83,97,.1);border:1px solid var(--color-border);border-radius:4px;padding:6px 10px;color:var(--color-text);font-size:12px;resize:vertical;min-height:40px;box-sizing:border-box}.stmt-expense-notes:focus{outline:none;border-color:var(--color-accent)}.stmt-expense-notes::placeholder{color:hsla(55,80%,92%,.35);font-size:11px}.expense-desc-label{display:block;font-weight:600;color:#374151}.expense-notes-label{display:block;font-size:11px;color:#6b7280;font-style:italic;margin-top:2px;line-height:1.4}.stmt-charges-divider{height:1px;background:var(--color-border);margin:12px 0}.stmt-total-due-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:rgba(213,171,22,.12);border:1px solid rgba(213,171,22,.35);border-radius:6px;margin-top:12px;font-size:15px;font-weight:700;color:var(--color-accent)}.statement-document{padding:28px 32px}.statement-letterhead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;gap:16px;flex-wrap:wrap}.letterhead-left{display:flex;align-items:flex-start;gap:14px}.letterhead-company h1{margin:0 0 5px;font-size:18px;font-weight:700;color:#d5ab16;letter-spacing:.3px}.letterhead-company p{margin:2px 0;font-size:11px;color:#6b7280;line-height:1.4}.letterhead-right{text-align:right}.letterhead-right h2{margin:0 0 10px;font-size:24px;font-weight:800;color:#1f2937;letter-spacing:2px}.letterhead-meta{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.meta-row{display:flex;gap:12px;font-size:12px}.meta-row span:first-child{font-weight:600;color:#9ca3af}.meta-row span:last-child{color:#374151}.statement-accent-bar{height:3px;background:linear-gradient(90deg,#d5ab16,#f0c849,#d5ab16);border-radius:2px;margin:16px 0}.statement-info-band{display:flex;gap:0;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:24px}.info-block{flex:1 1;padding:12px 16px;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:4px}.info-block:last-child{border-right:none}.info-label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:1px}.info-value{font-size:14px;font-weight:600;color:#1f2937}.info-value.status-locked{color:#16a34a;font-size:12px}.statement-section{margin-bottom:24px}.section-title{font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid #d5ab16}.statement-summary-table{width:100%;border-collapse:collapse}.statement-summary-table td{padding:8px 10px;font-size:13px;color:#374151;border-bottom:1px solid #f0f0f0}.statement-summary-table td:last-child{text-align:right;font-weight:600}.statement-summary-table .deduct-row td{color:#6b7280;font-style:italic}.statement-summary-table tfoot .payout-row td{font-size:15px;font-weight:700;color:#1f2937;border-top:2px solid #d5ab16;border-bottom:none;padding-top:10px}.statement-summary-table tbody .credit-row td{color:#15803d}.statement-bookings-table{width:100%;border-collapse:collapse;font-size:12px}.statement-bookings-table thead tr{background:#f1f5f9}.statement-bookings-table th{padding:8px 10px;text-align:left;font-size:11px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.statement-bookings-table td{padding:7px 10px;color:#374151;border-bottom:1px solid #f0f0f0}.statement-bookings-table tbody tr:hover{background:#f9fafb}.statement-bookings-table tfoot .bookings-total-row td{font-weight:700;color:#1f2937;border-top:2px solid #e2e8f0;border-bottom:none;padding-top:8px}.statement-bookings-table .text-right{text-align:right}.statement-signature{margin:28px 0 20px;padding-top:16px;border-top:1px solid #e5e7eb}.sig-row{display:flex;gap:40px}.sig-field{flex:1 1;display:flex;flex-direction:column;gap:6px}.sig-rule{height:1px;background:#9ca3af;margin-bottom:4px}.sig-field span{font-size:11px;color:#9ca3af}.statement-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:hsla(55,80%,92%,.4);text-align:center}.statement-placeholder p{font-size:14px;max-width:260px;line-height:1.5}.status-text{font-size:13px;color:hsla(55,80%,92%,.5);padding:8px 0}.status-text.empty{color:hsla(55,80%,92%,.4);font-style:italic}.statement-stats{display:flex;flex-direction:column;gap:8px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(65,83,97,.12);border-radius:6px;border:1px solid var(--color-border)}.stat-label{font-size:13px;color:hsla(55,80%,92%,.7)}.stat-value{font-size:14px;font-weight:600;color:var(--color-text)}.stat-value.deduct{color:rgba(251,100,70,.9)}.stat-value.accent{color:var(--color-accent)}.kyan-tools-container{display:flex;flex-direction:column;width:100%;max-width:100%;box-sizing:border-box;padding:0;margin:0;overflow-x:hidden}.kyan-tools-header{display:flex;flex-direction:column;margin-bottom:24px}.kyan-tools-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.kyan-tools-title{display:flex;align-items:center;gap:12px;font-size:32px;font-weight:700;color:var(--color-text,#fbf8da);margin:0}.kyan-tools-tabs{--indicator-width:0px;--indicator-left:0px;display:flex;border-bottom:1px solid hsla(55,80%,92%,.1);position:relative}.kyan-tools-tabs:after{content:"";position:absolute;bottom:-1px;left:var(--indicator-left);width:var(--indicator-width);height:3px;background:linear-gradient(90deg,var(--color-accent,#d5ab16),#c49a14);transition:all .3s cubic-bezier(.25,1,.5,1);border-radius:2px 2px 0 0;opacity:0}.kyan-tools-tabs.has-active-tab:after{opacity:1}.kyan-tools-tab{display:flex;align-items:center;gap:8px;padding:16px 24px;background:transparent;border:none;color:hsla(55,80%,92%,.7);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;opacity:.7}.kyan-tools-tab:hover{color:hsla(55,80%,92%,.9);opacity:1}.kyan-tools-tab.active{color:var(--color-text,#fbf8da);opacity:1}.kyan-tools-tab svg{font-size:18px}.kyan-tools-loading{font-size:18px}.coming-soon,.kyan-tools-loading{display:flex;align-items:center;justify-content:center;height:400px;color:hsla(55,80%,92%,.7)}.coming-soon{flex-direction:column;text-align:center;background:rgba(65,83,97,.09);border:1px solid rgba(73,94,109,.2);border-radius:12px}.coming-soon svg{margin-bottom:20px;color:hsla(55,80%,92%,.5)}.coming-soon h3{margin:0 0 12px;font-size:24px;color:var(--color-text,#fbf8da)}.coming-soon p{margin:0;font-size:16px}@media (max-width:768px){.kyan-tools-title{font-size:24px}.kyan-tools-tab{padding:12px 16px;font-size:14px}.kyan-tools-tab svg{font-size:16px}}@media (max-width:480px){.kyan-tools-tabs{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.kyan-tools-tabs::-webkit-scrollbar{display:none}.kyan-tools-tab{white-space:nowrap;min-width:max-content}}