@import"https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:Prompt,sans-serif}.app-container{min-height:100vh;background:linear-gradient(135deg,#fffbeb,#fff,#ecfdf5)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#059669;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.header{position:sticky;top:0;z-index:50;background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05)}.header-content{max-width:1200px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.logo-section{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#059669,#10b981);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #0596694d}.logo-text{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#059669,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-tagline{font-size:.75rem;color:#6b7280}.header-actions{display:flex;align-items:center;gap:8px}.header-btn{padding:8px 12px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-size:.875rem;color:#4b5563;transition:all .2s}.header-btn:hover{background:#f3f4f6}.header-btn.logout{color:#ef4444}.header-btn.logout:hover{background:#fee2e2}.main-content{max-width:800px;margin:0 auto;padding:24px 16px}.doc-type-selector{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:8px}.doc-type-btn{padding:10px 20px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.doc-type-btn:hover{background:#f9fafb}.doc-type-btn.active{background:linear-gradient(135deg,#059669,#10b981);color:#fff;border:none;box-shadow:0 4px 12px #0596694d}.tab-nav{display:flex;gap:8px;margin-bottom:16px}.tab-btn{flex:1;padding:12px;border-radius:12px;border:none;background:transparent;font-weight:500;cursor:pointer;transition:all .2s;color:#6b7280}.tab-btn:hover{background:#ffffff80}.tab-btn.active{background:#fff;color:#059669;box-shadow:0 4px 12px #0000001a}.card{background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);border-radius:16px;padding:20px;margin-bottom:16px}.card-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:16px}.card-icon{width:32px;height:32px;border-radius:8px;background:#d1fae5;display:flex;align-items:center;justify-content:center;font-size:1rem}.card-icon.blue{background:#dbeafe}.card-icon.amber{background:#fef3c7}.card-icon.purple{background:#ede9fe}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#4b5563;margin-bottom:4px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border-radius:12px;border:1px solid #e5e7eb;font-size:1rem;transition:all .2s;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:640px){.form-row,.form-grid-3{grid-template-columns:1fr}}.item-row{display:flex;gap:12px;background:#f9fafb;border-radius:12px;padding:16px;margin-bottom:12px}.item-number{width:28px;height:28px;border-radius:8px;background:#059669;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500;flex-shrink:0}.item-content{flex:1}.item-desc{margin-bottom:12px}.item-numbers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.item-total{text-align:right;font-size:.875rem;color:#6b7280}.item-total .amount{color:#059669;font-weight:600}.remove-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.remove-btn:hover{background:#fee2e2}.add-item-btn{width:100%;padding:12px;border:2px dashed #d1d5db;border-radius:12px;background:transparent;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s}.add-item-btn:hover{border-color:#059669;color:#059669;background:#0596690d}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;margin-bottom:16px}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:#059669}.checkbox-label small{color:#9ca3af}.tax-withholding p{font-size:.875rem;font-weight:500;color:#4b5563;margin-bottom:8px}.tax-options{display:flex;flex-wrap:wrap;gap:8px}.tax-btn{padding:8px 16px;border-radius:12px;border:none;background:#f3f4f6;color:#4b5563;font-weight:500;cursor:pointer;transition:all .2s}.tax-btn:hover{background:#e5e7eb}.tax-btn.active{background:#7c3aed;color:#fff;box-shadow:0 4px 12px #7c3aed4d}.summary-card{border-left:4px solid #059669}.summary-rows{display:flex;flex-direction:column;gap:8px}.summary-row{display:flex;justify-content:space-between;color:#6b7280}.summary-row.red{color:#ef4444}.summary-total{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:700;padding-top:12px;border-top:1px solid #e5e7eb;margin-top:8px}.baht-text{text-align:right;font-size:.875rem;color:#6b7280;margin-top:4px}.btn-primary{padding:14px 24px;border-radius:12px;border:none;background:linear-gradient(135deg,#059669,#10b981);color:#fff;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0596694d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-primary.small{padding:8px 16px;font-size:.875rem}.btn-secondary{padding:14px 24px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;color:#4b5563;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-secondary:hover{background:#f9fafb}.btn-secondary:disabled{opacity:.7;cursor:not-allowed}.full-width{width:100%}.mb-16{margin-bottom:16px}.action-buttons{display:flex;gap:12px}.action-buttons .btn-secondary,.action-buttons .btn-primary{flex:1}.action-bar{display:flex;gap:8px;margin-bottom:16px}.share-link-box{background:#d1fae5;border:1px solid #a7f3d0;border-radius:12px;padding:16px;margin-bottom:16px}.share-link-box p{font-weight:500;color:#065f46;margin-bottom:8px}.share-link-input{display:flex;gap:8px}.share-link-input input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid #a7f3d0;background:#fff;font-size:.875rem}.share-link-input button{padding:8px 16px;border-radius:8px;border:none;background:#059669;color:#fff;font-weight:500;cursor:pointer}.invoice-preview{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px #00000026;padding:32px;margin-bottom:16px}.invoice-header{display:flex;flex-direction:column;gap:16px;padding-bottom:24px;border-bottom:2px solid #059669;margin-bottom:24px}@media(min-width:640px){.invoice-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.invoice-header h1{font-size:1.875rem;font-weight:700;margin-bottom:4px}.invoice-header p{color:#6b7280}.company-info{text-align:left}@media(min-width:640px){.company-info{text-align:right}}.company-info h2{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:4px}.company-info p{font-size:.875rem;color:#6b7280}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media(max-width:640px){.invoice-meta{grid-template-columns:1fr}}.meta-box{background:#f9fafb;border-radius:12px;padding:16px}.meta-label{font-size:.875rem;color:#6b7280;margin-bottom:4px}.meta-value{font-weight:600;color:#1f2937}.meta-row{display:flex;gap:24px}.invoice-table{width:100%;border-collapse:collapse;margin-bottom:24px}.invoice-table thead{background:#059669}.invoice-table th{padding:12px 16px;text-align:left;color:#fff;font-weight:500}.invoice-table th:first-child{border-radius:8px 0 0}.invoice-table th:last-child{border-radius:0 8px 0 0}.invoice-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6}.invoice-table td.center{text-align:center}.invoice-table td.right{text-align:right}.invoice-totals{display:flex;justify-content:flex-end}.totals-box{width:100%;max-width:320px}.total-row{display:flex;justify-content:space-between;padding:8px 0;color:#6b7280}.total-row.red{color:#ef4444}.total-final{display:flex;justify-content:space-between;padding:16px 0;border-top:2px solid #059669;margin-top:8px;font-size:1.25rem;font-weight:700}.baht-text-preview{text-align:right;font-size:.875rem;color:#6b7280;margin-top:8px}.invoice-note{margin-top:24px;padding:16px;background:#fffbeb;border:1px solid #fde68a;border-radius:12px}.note-label{font-weight:500;color:#92400e;margin-bottom:4px}.invoice-note p:last-child{color:#b45309}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;padding-top:32px;border-top:1px solid #e5e7eb}.signature-box{text-align:center}.signature-line{width:192px;border-bottom:1px solid #d1d5db;margin:0 auto 8px}.signature-box p{font-size:.875rem;color:#6b7280}.signature-box small{font-size:.75rem;color:#9ca3af}.modal-overlay{position:fixed;inset:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;padding:24px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:1.25rem;font-weight:700;color:#1f2937}.close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:8px;border-radius:8px;color:#6b7280}.close-btn:hover{background:#f3f4f6}.color-picker{display:flex;gap:12px}.color-btn{width:40px;height:40px;border-radius:12px;border:none;cursor:pointer;transition:all .2s}.color-btn.active{transform:scale(1.1);box-shadow:0 0 0 3px #0000001a}.auth-modal{max-width:400px}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px}.auth-logo .logo-icon{width:56px;height:56px}.auth-logo .logo-text{font-size:1.5rem}.auth-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:12px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;padding:10px;border:none;background:transparent;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;color:#6b7280}.auth-tab.active{background:#fff;color:#059669;box-shadow:0 2px 8px #0000001a}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-error{background:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;font-size:.875rem}.auth-success{background:#d1fae5;color:#059669;padding:12px;border-radius:8px;font-size:.875rem}.forgot-link{background:none;border:none;color:#059669;font-size:.875rem;cursor:pointer;text-align:right;padding:0}.forgot-link:hover{text-decoration:underline}.forgot-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:8px}.forgot-desc{color:#6b7280;font-size:.875rem;margin-bottom:16px}.back-link{background:none;border:none;color:#6b7280;font-size:.875rem;cursor:pointer;padding:8px}.back-link:hover{color:#059669}.history-modal{max-width:600px}.empty-state{text-align:center;padding:48px 24px;color:#9ca3af}.document-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;gap:12px;background:#f9fafb;border-radius:12px;padding:12px;cursor:pointer;transition:all .2s}.document-item:hover{background:#f3f4f6}.doc-info{flex:1;display:flex;gap:12px;align-items:center}.doc-type-badge{padding:4px 8px;border-radius:6px;color:#fff;font-size:.75rem;font-weight:500;white-space:nowrap}.doc-details{flex:1}.doc-number{font-weight:600;color:#1f2937}.doc-client{font-size:.875rem;color:#6b7280}.doc-amount{font-weight:600;color:#059669}.doc-date{font-size:.75rem;color:#9ca3af}.delete-btn{background:none;border:none;padding:8px;cursor:pointer;border-radius:8px;transition:all .2s}.delete-btn:hover{background:#fee2e2}.footer{text-align:center;padding:24px 16px;color:#9ca3af;font-size:.875rem}.footer p:last-child{margin-top:4px}@media print{.no-print{display:none!important}.app-container{background:#fff}.main-content{padding:0;max-width:none}.invoice-preview{box-shadow:none;border-radius:0;padding:20px}}
