*{margin:0;padding:0;box-sizing:border-box}body{font-family:Hiragino Sans,Noto Sans JP,sans-serif;background:#f5f5f5;color:#333}.container,#mobileAppContainer,.top-bar,#landingPage{display:none!important}#baseLoading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#666}body.mode-edit .top-bar,body.mode-edit .container.desktop-only{display:flex!important}body.mode-edit #baseLoading,body.mode-preview #baseLoading,body.mode-download #baseLoading,body.mode-landing #baseLoading{display:none!important}body.mode-landing #landingPage{display:flex!important}@media(max-width:1200px){body.mode-edit #mobileAppContainer{display:block!important}body.mode-edit .container.desktop-only,body.mode-edit .preview-action-container{display:none!important}}input::placeholder,textarea::placeholder{color:#aaa;opacity:1}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#aaa;opacity:1}input::-moz-placeholder,textarea::-moz-placeholder{color:#aaa;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#aaa}.invoice-container input,.invoice-container textarea,.invoice-container select,.tools-panel input,.tools-panel textarea{color:#111}.top-bar{position:sticky;top:0;left:0;right:0;height:56px;background:linear-gradient(135deg,#3a47c6,#2d366e);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:0 2px 20px #3a47c640;z-index:1000}.top-bar-left{display:flex;align-items:center;gap:24px}.brand-section{display:flex;align-items:center;gap:10px;cursor:pointer}.brand-icon{width:32px;height:32px;border-radius:6px;box-shadow:0 2px 8px #00000026}.brand-name{font-size:17px;font-weight:600;letter-spacing:.3px}.top-bar-divider{width:1px;height:24px;background:#fff3}.top-bar-actions{display:flex;align-items:center;gap:10px}.action-btn{padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff14;color:#ffffffe6;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.action-btn:hover{background:#ffffff26;border-color:#ffffff59;color:#fff}.action-btn.action-primary{background:linear-gradient(180deg,#ffb74d,#ff9800);border:1px solid #EF6C00;color:#fff;font-weight:700;font-size:13px;padding:4px 48px;min-width:160px;border-radius:30px;text-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 3px 6px #0003,inset 0 1px #fff6;letter-spacing:.05em;transition:all .2s ease-in-out;cursor:pointer;line-height:1.4}.action-btn.action-primary:hover{background:linear-gradient(180deg,#ffcc80,#ffa726);transform:translateY(-1px);box-shadow:0 4px 10px #00000040,inset 0 1px #ffffff80;border-color:#e65100}.action-btn.action-primary:active{transform:translateY(0);background:linear-gradient(180deg,#ff9800,#ffb74d);box-shadow:0 2px 4px #00000026,inset 0 1px 2px #0000001a;border-color:#ef6c00}.preview-action-container{position:relative;display:flex;align-items:center;transform:translateY(6px);cursor:pointer}.preview-hint-text{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:1px;font-size:9px;font-weight:700;color:#ffb74d;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3);letter-spacing:1px}.document-toggle{display:flex;gap:4px;background:#ffffff1a;padding:4px;border-radius:8px}.document-toggle button{padding:6px 16px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;border-radius:5px}.document-toggle button.active{background:#fff;color:#3a47c6;box-shadow:0 2px 8px #0000001a}.document-toggle button:not(.active):hover{color:#fff;background:#ffffff1a}.container{display:flex;gap:20px;max-width:1800px;margin:20px auto;padding:0 20px;height:calc(100vh - 96px)}.main-area{flex:1;background:#fff;border-radius:12px;padding:40px;box-shadow:0 2px 16px #00000014;overflow-y:auto;height:100%;overflow-x:hidden}.tools-panel{width:300px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 16px #00000014;overflow-y:auto;height:100%;order:-1;flex-shrink:0}.invoice-wrapper{width:100%;display:flex;justify-content:center}.invoice-container{width:820px;min-width:820px;margin:0 auto;background:#fff;border:1px solid #e0e0e0;padding:50px 45px;line-height:1.8;font-size:13px;transform-origin:top center;transition:transform .1s ease-out}.invoice-container.print-mode{border:none!important;box-shadow:none!important}.invoice-container input:not([readonly]):not([type=hidden]),.invoice-container textarea:not([readonly]),.invoice-container select:not([readonly]){background-color:#3a47c60d;transition:background-color .2s ease}.invoice-container input:not([readonly]):not([type=hidden]):focus,.invoice-container textarea:not([readonly]):focus,.invoice-container select:not([readonly]):focus{background-color:#3a47c614}@media print{.invoice-container input,.invoice-container textarea,.invoice-container select{background-color:transparent!important}}.invoice-container.print-mode input,.invoice-container.print-mode textarea,.invoice-container.print-mode select{background-color:transparent!important}.invoice-header-bar{background-color:#3a47c6;color:#fff;text-align:center;padding:15px;margin:-50px -45px 30px;font-size:32px;font-weight:700;letter-spacing:2px}.invoice-title{display:block}.receipt-title,.invoice-container.receipt-mode .invoice-title{display:none}.invoice-container.receipt-mode .receipt-title{display:block}.invoice-top-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:0 0 30px}.top-left{display:flex;flex-direction:column;gap:15px}.client-company-block{display:flex;align-items:baseline;gap:0}.client-company-name{font-size:20px;font-weight:700;border:none;border-bottom:1px solid #333;padding:4px 0;background:transparent;font-family:inherit;flex:1;resize:none;overflow:hidden;display:block;min-height:38px;line-height:1.5;text-align:center}.client-company-name:focus{outline:none;border-bottom-color:#3a47c6}.honorific{font-weight:700;color:#333;font-size:14px;white-space:nowrap;flex-shrink:0}.honorific-select{font-weight:700;color:#333;font-size:14px;white-space:nowrap;flex-shrink:0;border:1px solid #ddd;background:#f8f8f8;font-family:inherit;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.honorific-select:hover{border-color:#bbb;background-color:#f0f0f0}.honorific-select:focus{outline:none;border-color:#3a47c6;box-shadow:0 0 0 2px #3a47c626}.print-mode .honorific-select{border:none;background:transparent;padding:0;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.payment-deadline{display:flex;align-items:baseline;gap:8px}.deadline-label{font-weight:700;font-size:12px;white-space:nowrap}.deadline-input{flex:1;border:none;border-bottom:1px solid #999;padding:4px 0;font-size:12px;background:transparent;font-family:inherit}.deadline-input:focus{outline:none;border-bottom-color:#3a47c6}.top-right{display:flex;justify-content:flex-end;gap:50px;padding-right:33px}.invoice-info-inline{display:flex;flex-direction:column;align-items:flex-end;gap:5px;justify-content:flex-end}.invoice-info-item{display:flex;align-items:baseline;gap:5px}.invoice-no-label,.invoice-date-label{font-size:14px;font-weight:700;color:#333;white-space:nowrap}.invoice-no-input{border:none;border-bottom:1px solid #333;padding:4px 0;font-size:14px;font-weight:700;width:auto;min-width:30px;max-width:400px;text-align:right;background:transparent;font-family:inherit}.invoice-no-input:focus{outline:none;border-bottom-color:#3a47c6}.invoice-date-input{border:none;border-bottom:1px solid #333;font-family:inherit;font-size:14px;font-weight:700;background:transparent;text-align:right;width:130px}.invoice-date-input:focus{outline:none;border-bottom-color:#3a47c6}.info-block{font-size:11px;line-height:1.8}.info-label{font-weight:700;margin-bottom:10px;font-size:11px}.info-content{color:#555}.info-content input,.info-content textarea{width:100%;border:none;border-bottom:1px solid #999;padding:4px 0;font-family:inherit;font-size:11px;margin:4px 0;background:transparent;resize:none;overflow:hidden;display:block}.info-content input:focus{outline:none;border-bottom-color:#3a47c6;background:#3a47c605}.postal-code{font-weight:500}.address{margin:6px 0!important}.address,.phone{margin:6px 0!important;line-height:1.4}.email{color:#06c;margin:6px 0!important}.person-name{margin:6px 0!important}.issuer-company{font-size:16px!important;font-weight:700;margin:8px 0 4px!important}.issuer-address,.issuer-phone,.issuer-email,.issuer-postal{margin:0!important;font-size:11px;color:#555}.issuer-registration-number{font-weight:400;font-size:10px;color:#666;margin-top:4px!important}.tax-breakdown-row{display:flex;justify-content:flex-end;font-size:10px;color:#666;padding:4px 12px;background:#f9f9f9;border-left:1px solid #ddd;border-right:1px solid #ddd}.items-table{width:100%;border-collapse:collapse;margin:20px 0}.items-table th{background-color:#f2f2f2;border:1px solid #333;padding:8px;text-align:center;font-weight:700;font-size:11px;color:#000}.items-table th:first-child{width:5%}.items-table td{border:1px solid #333;padding:8px;text-align:right;background:#fff;font-size:11px;vertical-align:middle}.items-table td:first-child{text-align:center}.items-table td:nth-child(2){text-align:left}.items-table th{border:1px solid #333}.items-table thead tr:first-child th{border-top:1px solid #333}.items-table th:first-child{border-left:1px solid #333}.items-table th:last-child{border-right:1px solid #333}.item-no{text-align:center;font-weight:700}.items-table input,.items-table textarea{width:100%;border:none;background:transparent;padding:0;text-align:inherit;font-family:inherit;font-size:inherit;resize:none;overflow:hidden;display:block}.items-table textarea{vertical-align:middle;line-height:1.4}.items-table input:focus{outline:none;background:#3a47c614}.item-amount{font-weight:700}.add-item-btn{background:#666;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:12px;margin:10px 0;white-space:nowrap}.add-item-btn:hover{background:#444}.totals-section{display:flex;flex-direction:column;width:100%;margin:25px 0 20px;padding:20px;border-radius:6px;background:#fafafa;gap:15px;page-break-inside:avoid}.totals-row-primary{display:flex;align-items:center;justify-content:center;gap:30px;font-size:14px;color:#333;padding:10px 0;border-bottom:1px solid #ccc}.total-item{display:flex;align-items:center;gap:8px}.total-label-sm{font-weight:700;font-size:13px}.total-value-sm{font-family:Courier New,monospace;font-weight:700;font-size:15px;min-width:80px;text-align:right}.total-divider{width:1px;height:18px;background:#999}.print-mode .tax-rate-display{display:inline!important}.item-tax-rate-display{display:none;font-size:11px}@media print{.item-tax-rate{display:none!important}.item-tax-rate-display{display:block!important}}.print-mode .item-tax-rate{display:none!important}.print-mode .item-tax-rate-display{display:block!important}@media print{.date-picker-icon{display:none!important}}.print-mode .date-picker-icon{display:none!important}.date-display-input{border:none;background:transparent;font-size:14px;font-weight:700;font-family:inherit;color:inherit;cursor:text;padding:0;margin:0}.date-display-input:focus{outline:none;border-bottom:1px solid #3A47C6;background:#3a47c60d}.totals-row-secondary{display:flex;align-items:center;justify-content:center;gap:40px}.grand-total-block{display:flex;align-items:center;gap:25px;padding:10px 20px}.total-label-lg{font-size:16px;font-weight:700;color:#333}.total-value-lg{font-size:22px;font-weight:700;font-family:Courier New,monospace;color:#000}.deadline-block{display:flex;align-items:center;gap:10px}.deadline-label{font-size:13px;font-weight:700}.deadline-input{border:none;border-bottom:2px solid #666;padding:4px 6px;font-size:14px;font-family:inherit;background:transparent;text-align:center;width:150px}.deadline-input:focus{outline:none;border-bottom-color:#333}.footer-section{display:block;margin-top:0;page-break-inside:avoid}.footer-section>*:not(:first-child){margin-top:25px}.bank-info{margin:0;padding:20px;background-color:#fff;border:1px solid #333;border-radius:2px;page-break-inside:avoid;position:relative;display:flex;justify-content:space-between;align-items:flex-start;max-width:695px}.bank-details-container{flex:1;transition:all .3s ease}.bank-qr-container{display:none;flex-direction:column;align-items:center;justify-content:center;width:120px;margin-left:15px;padding-left:15px;border-left:1px dashed #ddd;flex-shrink:0}.bank-info.has-clockclock-id .bank-qr-container{display:flex}.bank-qr-title{font-size:10px;font-weight:700;color:#555;margin-bottom:5px;text-align:center;border:1px solid #333;padding:2px 6px;border-radius:10px;white-space:nowrap}#bankQrCode{width:80px;height:80px}#bankQrCode canvas{display:none!important}#bankQrCode img{width:80px;height:80px;display:block}.bank-info-title{position:absolute;top:-8px;left:8px;background:#fff;padding:0 5px;font-size:13px;font-weight:700;color:#333;line-height:1;margin:0}.bank-info-row{display:flex;margin:8px 0;font-size:12px}.bank-info-label{min-width:70px;font-weight:700}.bank-info-row input{flex:1;border:none;background:transparent;border-bottom:1px solid #999;padding:2px 0;font-family:inherit;font-size:inherit}.bank-info-row input:focus{outline:none;border-bottom-color:#3a47c6}.bank-info-line{display:flex;align-items:baseline;gap:10px;margin:8px 0;font-size:12px;flex-wrap:nowrap}.bank-info-line span{white-space:nowrap}.bank-info-line input{border:none;border-bottom:1px solid #999;background:transparent;padding:2px 4px;font-family:inherit;font-size:inherit;min-width:60px}.bank-info-line input:focus{outline:none;border-bottom-color:#3a47c6}#bankName,#branchName,#accountName{flex:1}#branchNumber{width:40px;min-width:40px}#accountNumber{width:100px;flex:0 0 100px}.account-type-select{border:none;border-bottom:1px solid #999;background:transparent;font-family:inherit;font-size:inherit;padding:2px 18px 2px 4px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 0px center;background-size:12px}.account-type-select:focus{outline:none;border-bottom-color:#3a47c6}.remarks{margin:0;padding:15px;border:1px solid #333;border-radius:2px;page-break-inside:avoid;position:relative;max-width:695px}.remarks-label{position:absolute;top:-8px;left:8px;background:#fff;padding:0 5px;font-size:13px;font-weight:700;color:#333;line-height:1;margin:0}.remarks textarea{width:100%;border:none;border-bottom:1px solid #ddd;padding:4px;font-family:inherit;font-size:12px;resize:vertical;min-height:60px}.remarks textarea:focus{outline:none;border-color:#3a47c6;background:#3a47c605}.items-table tr,.totals-section{page-break-inside:avoid}.tools-section{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.tools-section:last-child{border-bottom:none}.section-title{font-weight:700;font-size:13px;margin-bottom:12px;color:#333}.control-group{margin-bottom:12px}.control-label{display:block;font-size:11px;color:#666;margin-bottom:6px;font-weight:500}.control-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:12px;font-family:inherit}.control-input:focus{outline:none;border-color:#3a47c6;box-shadow:0 0 0 2px #3a47c61a}.color-picker-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-item{display:flex;flex-direction:column;gap:6px}.color-item input[type=color]{width:100%;height:40px;border:1px solid #ddd;border-radius:4px;cursor:pointer}.color-hex{font-size:10px;color:#666;text-align:center}.button-group{display:flex;flex-direction:column;gap:10px}.btn{padding:12px;border:none;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:all .3s ease;text-align:center}.btn-primary{background:#3a47c6;color:#fff}.btn-primary:hover{background:#2d366e;transform:translateY(-2px);box-shadow:0 5px 15px #3a47c666}.btn-secondary{background:#f0f0f0;color:#333;border:1px solid #ddd}.btn-secondary:hover{background:#e8e8e8}.info-text{font-size:11px;color:#666;margin:15px 0;padding:10px;background:#f5f5f5;border-radius:4px}.delete-item-btn{background:#ff6b6b;color:#fff;border:none;padding:4px 8px;border-radius:3px;cursor:pointer;font-size:11px}.delete-item-btn:hover{background:#ee5a52}.copy-notification{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-20px);background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:14px 28px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:0 6px 20px #4caf5066;z-index:2000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.copy-notification.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.guide-panel{width:300px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 16px #00000014;overflow:visible;height:100%;flex-shrink:0;display:flex;flex-direction:column;gap:15px}.guide-scroll-area{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:15px;margin-left:-50px;padding:15px 5px 10px 50px;margin-bottom:-10px}.guide-card{background:#fdfdfd;border:1px solid #eee;border-radius:8px;padding:15px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);opacity:.6;margin-left:0;backface-visibility:hidden}.guide-card.active{opacity:1;border-color:#3a47c6;background:#fff;box-shadow:0 8px 25px #3a47c640;transform:scale(1.05) translate(-25px);border-left:6px solid #3A47C6;position:relative;z-index:100}.guide-card.active:before{content:"";position:absolute;right:100%;top:25px;margin-top:-10px;border:12px solid transparent;border-right-color:#3a47c6}.guide-title{font-weight:700;font-size:13px;color:#333;margin-bottom:8px;display:flex;align-items:center;gap:6px}.guide-content{font-size:11px;color:#666;line-height:1.6}.guide-content ul{padding-left:15px;margin:5px 0}.guide-content li{margin-bottom:4px}@media(max-width:1200px){.tools-panel,.guide-panel{width:100%}}.promo-card{background:linear-gradient(135deg,#3a47c6,#764ba2);color:#fff;border:none;box-shadow:0 4px 15px #3a47c64d}.promo-card .guide-title{color:#fff;font-size:14px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:8px;margin-bottom:10px}.promo-card .guide-content{color:#fffffff2}.promo-link{display:block;background:#fff;color:#3a47c6;padding:10px;border-radius:6px;font-weight:700;font-size:12px;text-decoration:none;margin-top:12px;transition:all .2s ease;text-align:center}.promo-link:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003;background:#f8f9fa}.promo-secondary-link{display:block;text-align:center;color:#fffc;font-size:11px;margin-top:8px;text-decoration:underline;transition:color .2s}.promo-secondary-link:hover{color:#fff}.preview-iframe{position:fixed;top:0;left:0;width:100%;height:100%;border:none;z-index:900}.edit-mode-btn{position:fixed;bottom:30px;right:30px;background:#3a47c6;color:#fff;padding:15px 30px;border-radius:50px;font-size:16px;font-weight:700;box-shadow:0 4px 20px #3a47c666;cursor:pointer;z-index:1000;border:none;transition:all .3s ease;display:flex;align-items:center;gap:10px}.edit-mode-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #5865e099;background:#5865e0}.download-pdf-btn{position:fixed;bottom:30px;right:220px;background:#4caf50;color:#fff;padding:15px 30px;border-radius:50px;font-size:16px;font-weight:700;box-shadow:0 4px 20px #4caf5066;cursor:pointer;z-index:1000;border:none;transition:all .3s ease;display:flex;align-items:center;gap:10px}.download-pdf-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #4caf5080;background:#43a047}.preview-mode-custom-layout,.preview-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;min-height:100vh;background-color:#f0f2f5;z-index:1500;display:flex;flex-direction:column;overflow-y:auto}.preview-top-bar{background:#fff;padding:12px 20px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:1600;height:56px;flex-shrink:0;box-sizing:border-box}.preview-top-bar-title{display:flex;align-items:center;gap:10px}.preview-top-bar-title img{width:28px;height:28px;border-radius:6px}.preview-top-bar-title h1{font-size:16px;font-weight:700;color:#333;margin:0}.preview-content-wrapper{display:flex;flex-direction:column;gap:24px;width:100%;max-width:900px;margin:0 auto;padding:40px 20px}.preview-section-title{text-align:center;margin-top:40px;margin-bottom:30px}.preview-section-title h1{color:#333;font-size:28px;margin:0 0 10px;font-weight:600}.preview-section-title p{color:#666;font-size:14px;margin:0}.preview-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:30px;box-shadow:0 2px 16px #00000014;margin-bottom:24px}.preview-card h3{color:#333;font-size:16px;margin:0 0 20px;display:flex;align-items:center;gap:10px;font-weight:600;padding-bottom:15px;border-bottom:1px solid #eee}.preview-card h3 img{width:24px;height:24px;border-radius:4px}.preview-image-window{height:60vh;width:calc(100% - 40px);max-width:860px;margin:20px auto;background-color:#e5e7eb;border:1px solid #d1d5db;border-radius:8px;display:block;overflow:hidden;position:relative;box-sizing:border-box;touch-action:none}.preview-image{position:absolute;top:0;left:0;max-width:none;max-height:none;width:auto;height:auto;box-shadow:0 4px 6px #0000001a;transform-origin:0 0}.preview-btn-group{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.preview-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;text-decoration:none;line-height:1.4}.preview-btn-primary{background:#3a47c6;color:#fff}.preview-btn-primary:hover{background:#2d366e;transform:translateY(-1px);box-shadow:0 4px 12px #3a47c640}.preview-btn-secondary{background:#fff;color:#333;border:1px solid #ddd}.preview-btn-secondary:hover{background:#f5f5f5;border-color:#bbb}.preview-back-btn{position:absolute;left:20px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:5px 10px;border-radius:4px;transition:background .2s}.preview-back-btn:hover{background:#0000000d;color:#333}.preview-floating-back-btn{position:fixed;bottom:20px;left:20px;top:auto;background:#fff;color:#333;padding:12px 24px;border-radius:50px;font-size:14px;cursor:pointer;border:1px solid #ddd;transition:all .2s ease;display:flex;align-items:center;gap:8px;z-index:2200;font-weight:600;box-shadow:0 4px 16px #0000001f}.preview-floating-back-btn:hover{background:#f5f5f5;border-color:#bbb;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.preview-textarea{width:100%;min-height:180px;background:#f9f9f9;border:1px solid #ddd;border-radius:8px;padding:16px;color:#333;font-size:14px;line-height:1.6;resize:vertical;font-family:inherit;box-sizing:border-box;transition:all .2s ease}.preview-textarea:focus{outline:none;border-color:#3a47c6;background:#fff;box-shadow:0 0 0 3px #3a47c61a}.preview-url-display{width:100%;background:#f9f9f9;border:1px solid #ddd;border-radius:6px;padding:12px 16px;color:#333;font-size:13px;font-family:monospace;word-break:break-all;margin-bottom:20px;-webkit-user-select:all;user-select:all}.preview-filename{color:#555;font-size:13px;margin-bottom:12px;font-weight:500}.preview-hint{font-size:12px;color:#666;margin-top:8px;display:flex;align-items:center;gap:4px}body.pdf-send-mode .top-bar{display:flex!important;z-index:2100}body.pdf-send-mode .preview-overlay{top:56px;height:calc(100% - 56px);z-index:2147483647;padding-top:60px}.stamp-container{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none;z-index:5;mix-blend-mode:multiply}.stamp{display:flex;justify-content:center;align-items:center;color:#db4d52;border:3px solid #db4d52;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-weight:700;opacity:.8;-webkit-user-select:none;user-select:none;background-color:transparent;white-space:pre-wrap}.stamp.square{width:80px;height:80px;border-radius:4px;padding:2px 4px;writing-mode:vertical-rl;text-orientation:upright;font-size:15px;line-height:1.2;letter-spacing:1px}.stamp.round.large-text{font-size:18px;letter-spacing:1px;line-height:1.2}.stamp.round{width:74px;height:74px;border-radius:50%;border-width:3px;font-size:13px;writing-mode:horizontal-tb;text-align:center;padding:10px;word-break:break-all;flex-direction:column;line-height:1.3}body.download-mode .top-bar,body.download-mode .tools-panel,body.download-mode .guide-panel,body.download-mode .edit-mode-btn,body.download-mode .add-item-btn,body.download-mode .delete-item-btn{display:none!important}body.download-mode .download-pdf-btn{right:30px}body.download-mode .container{flex-direction:column;align-items:center;margin-top:20px}body.download-mode .main-area{box-shadow:0 5px 20px #0000001a;max-width:900px;width:100%;overflow:visible;max-height:none}body.download-mode .invoice-container{border:none;box-shadow:none;margin:0 auto}body.download-mode .invoice-container input,body.download-mode .invoice-container textarea,body.download-mode .invoice-container select{background-color:transparent;pointer-events:none;border-bottom:none}body.download-mode select{-webkit-appearance:none;appearance:none;background-image:none}.download-promo-section{display:none;width:100%;max-width:820px;margin:30px auto;padding:20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;text-align:center;box-shadow:0 4px 15px #0000000d}body.download-mode .download-promo-section{display:block}.promo-content{display:flex;flex-direction:column;align-items:center;gap:15px}.promo-title{font-size:18px;font-weight:700;color:#333}.promo-desc{font-size:14px;color:#666}.promo-btn{display:inline-block;background:#3a47c6;color:#fff;padding:12px 24px;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s ease;box-shadow:0 4px 10px #3a47c64d}.promo-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #3a47c666;background:#2d366e}@media print{.download-promo-section{display:none!important}}.stamp-text-inner{display:block}@media print{#issueDateDisplay,.invoice-no-input{border-bottom:none!important}.remarks textarea{border-bottom:none!important;resize:none}}.invoice-container.print-mode #issueDateDisplay,.invoice-container.print-mode .invoice-no-input{border-bottom:none!important}.invoice-container.print-mode .remarks textarea{border-bottom:none!important;resize:none}@media print{.bank-info input,.bank-info select,.bank-info-line input,.bank-info-row input,.account-type-select{border-bottom:none!important;background:transparent!important;appearance:none!important;-webkit-appearance:none!important;background-image:none!important;padding-left:0;padding-right:0}.bank-info-row,.bank-info-line{justify-content:flex-start;gap:1em;border-bottom:1px solid #999;padding-bottom:4px;margin-bottom:8px;width:100%}.bank-info-label{width:auto;min-width:auto;margin-right:0}#bankName,#branchName,#accountName,#branchNumber,#accountNumber{flex:0 0 auto;width:auto;max-width:none;min-width:0}#bankName,#branchName{margin-right:0}#accountType{margin-right:0;width:auto}#accountNumber{margin-right:0}}.invoice-container.print-mode .bank-info input,.invoice-container.print-mode .bank-info select,.invoice-container.print-mode .bank-info-line input,.invoice-container.print-mode .bank-info-row input,.invoice-container.print-mode .account-type-select{border-bottom:none!important;background:transparent!important;appearance:none!important;-webkit-appearance:none!important;background-image:none!important;padding-left:0;padding-right:0}.invoice-container.print-mode .bank-info-row,.invoice-container.print-mode .bank-info-line{justify-content:flex-start;gap:1em;border-bottom:1px solid #999;padding-bottom:4px;margin-bottom:8px;width:100%}.invoice-container.print-mode .bank-info-label{width:auto;min-width:auto;margin-right:0}.invoice-container.print-mode #bankName,.invoice-container.print-mode #branchName,.invoice-container.print-mode #accountName,.invoice-container.print-mode #branchNumber,.invoice-container.print-mode #accountNumber{flex:0 0 auto;width:auto;max-width:none;min-width:0}.invoice-container.print-mode #bankName,.invoice-container.print-mode #branchName{margin-right:0}.invoice-container.print-mode #accountType{margin-right:0;width:auto}.invoice-container.print-mode #accountNumber{margin-right:0}.landing-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(180deg,#f8f9fa,#e9ecef)}.landing-brand{display:flex;align-items:center;gap:12px;margin-bottom:50px}.landing-brand img{width:48px;height:48px;border-radius:10px;box-shadow:0 4px 12px #0000001a}.landing-brand span{font-size:22px;font-weight:700;color:#3a47c6}.landing-header{text-align:center;margin-bottom:50px}.landing-header h1{font-size:28px;font-weight:700;color:#333;margin-bottom:12px;line-height:1.4}.landing-header p{font-size:15px;color:#666}.billing-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:800px;width:100%}@media(max-width:768px){.billing-type-grid{grid-template-columns:1fr}.landing-header h1{font-size:22px}}.billing-type-card{background:#fff;border-radius:16px;padding:28px;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);border:2px solid transparent;box-shadow:0 4px 20px #00000014}.billing-type-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #3a47c626;border-color:#3a47c6}.billing-type-card:active{transform:translateY(-2px)}.billing-type-card .card-icon{font-size:40px;margin-bottom:16px}.billing-type-card .card-title{font-size:18px;font-weight:700;color:#333;margin-bottom:10px}.billing-type-card .card-description{font-size:13px;color:#666;line-height:1.6;margin-bottom:16px}.billing-type-card .card-tags{display:flex;flex-wrap:wrap;gap:6px}.billing-type-card .card-tag{background:#f0f2f5;color:#555;font-size:11px;padding:4px 10px;border-radius:12px}.landing-skip{margin-top:40px;text-align:center}.landing-skip a{color:#888;font-size:13px;text-decoration:none;transition:color .2s}.landing-skip a:hover{color:#3a47c6;text-decoration:underline}.landing-step{display:none;width:100%;max-width:800px;animation:fadeIn .3s ease}.landing-step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-indicator{display:flex;justify-content:center;gap:8px;margin-bottom:30px}.step-dot{width:10px;height:10px;border-radius:50%;background:#ddd;transition:all .3s}.step-dot.active{background:#3a47c6;transform:scale(1.2)}.step-dot.completed{background:#3a47c6}.user-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%}@media(max-width:600px){.user-type-grid{grid-template-columns:1fr}}.user-type-card{background:#fff;border-radius:20px;padding:40px 32px;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);border:2px solid transparent;box-shadow:0 4px 20px #00000014;text-align:center}.user-type-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px #3a47c62e;border-color:#3a47c6}.user-type-card:active{transform:translateY(-3px)}.user-type-card .card-icon{font-size:56px;margin-bottom:20px}.user-type-card .card-title{font-size:20px;font-weight:700;color:#333;margin-bottom:12px}.user-type-card .card-description{font-size:13px;color:#666;line-height:1.6}.back-button{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s;margin-bottom:20px}.back-button:hover{background:#f0f2f5;color:#333}.back-button:before{content:"←"}.mobile-only{display:none}@media(max-width:1200px){.desktop-only{display:none!important}.mobile-only{display:block!important}body{overflow:auto;background-color:#f5f7fa}.mobile-app-container{display:block;min-height:100vh;background-color:#f5f7fa;padding-bottom:80px}.mobile-wizard-content{padding:15px}.mobile-guide-banner{background:#e8eaf6;border-left:4px solid #3A47C6;padding:12px 15px;display:flex;gap:12px;align-items:flex-start;margin:0}.guide-icon{font-size:18px}.guide-text{font-size:12px;color:#333;line-height:1.5}.mobile-guide-info{background-color:#e8eaf6;padding:10px 12px;margin-bottom:20px;border-radius:4px;font-size:12px;color:#333;line-height:1.5}.mobile-guide-info ul{margin:5px 0 0;padding-left:20px}.mobile-guide-info li{margin-bottom:4px}.mobile-guide-info strong{color:#3a47c6}.mobile-section{display:block;margin-bottom:20px}.mobile-nav-buttons{position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:12px 15px;box-shadow:0 -2px 10px #0000000d;display:flex;gap:12px;z-index:20}.mobile-nav-btn{height:44px;border-radius:22px;font-weight:700;font-size:14px;border:none;cursor:pointer;transition:background .2s}.prev-btn{background:#f0f0f0;color:#666;flex:0 0 80px}.prev-btn:disabled{opacity:.5;cursor:not-allowed}.next-btn{background:#333;color:#fff;flex:1}.mobile-preview-btn-nav{flex:1;height:48px;border-radius:24px;font-weight:700;font-size:15px;background:linear-gradient(180deg,#ffb74d,#ff9800);border:none;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 4px 10px #0003;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.mobile-preview-btn-nav:active{transform:scale(.98);background:linear-gradient(180deg,#ff9800,#ffb74d);box-shadow:0 2px 5px #0003}.mobile-card{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #0000000d;margin-bottom:15px}.input-group{margin-bottom:15px}[style*="display: flex"] .input-group,[style*="display:flex"] .input-group{margin-bottom:0}.mobile-bottom-actions{display:none}}@media(max-width:900px){.top-bar{padding:0 12px;height:50px}.top-bar-left{gap:8px}.brand-name{font-size:14px}.brand-icon{width:28px;height:28px}.top-bar-divider,#newCreateBtn{display:none}.document-toggle button,.action-btn{padding:6px 12px;font-size:12px}.container{flex-direction:column;height:auto;padding:10px;gap:15px}.main-area{padding:15px;height:auto;overflow:visible}.invoice-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.invoice-container{transform:scale(.65);transform-origin:top left;margin-bottom:-300px}.tools-panel{width:100%;order:2;max-height:none;height:auto}.guide-panel{width:100%;order:3;max-height:none;height:auto}}@media(max-width:600px){.top-bar{padding:0 10px;height:48px}.brand-name{display:none}.document-toggle{padding:3px}.document-toggle button,.action-btn{padding:5px 10px;font-size:11px}#generateUrlBtnHeader{display:none}.invoice-container{transform:scale(.45);margin-bottom:-450px}.main-area{padding:10px}.tools-panel{padding:15px}.tools-panel .section-title{font-size:13px}.tools-panel .control-label{font-size:11px}.top-bar-actions{display:none!important}}@media(max-width:400px){.invoice-container{transform:scale(.38);margin-bottom:-520px}.top-bar-actions{display:none!important}}.mobile-app-container{padding:20px 16px 100px;background:#f5f5f5;min-height:100vh}.mobile-section{margin-bottom:32px}.mobile-section-header h2{font-size:18px;font-weight:700;color:#333;margin-bottom:12px;padding-left:4px}.mobile-card{background:#fff;padding:20px;border-radius:16px;box-shadow:0 2px 12px #0000000a}.input-group{margin-bottom:24px}.input-group:last-child{margin-bottom:0}.input-group label{display:block;font-size:13px;font-weight:700;color:#444;margin-bottom:8px}.mobile-input,.mobile-select,.mobile-textarea{width:100%;padding:12px 14px;font-size:16px;border:1px solid #ddd;border-radius:10px;background:#fcfcfc;appearance:none;-webkit-appearance:none;transition:all .2s;color:#333;font-family:inherit}.mobile-input:focus,.mobile-select:focus,.mobile-textarea:focus{background:#fff;border-color:#3a47c6;outline:none;box-shadow:0 0 0 3px #3a47c61a}.select-wrapper{position:relative}.select-wrapper:after{content:"▼";font-size:10px;color:#888;position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none}.input-help{font-size:11px;color:#888;margin-top:6px;line-height:1.4}.mobile-color-btn{width:36px;height:36px;border-radius:50%;border:2px solid white;box-shadow:0 2px 6px #0000001a;flex-shrink:0}.mobile-bottom-actions{position:fixed;bottom:24px;left:20px;right:20px;z-index:900}.mobile-preview-btn{width:100%;padding:16px;background:linear-gradient(135deg,#3a47c6,#2d366e);color:#fff;font-weight:700;font-size:16px;border:none;border-radius:50px;box-shadow:0 4px 20px #3a47c64d;cursor:pointer;transition:transform .1s}.mobile-preview-btn:active{transform:scale(.98)}.mobile-item-card{background:#fcfcfc;border:1px solid #eee;border-radius:10px;padding:15px;margin-bottom:15px;position:relative}.mobile-item-delete{position:absolute;top:10px;right:10px;background:#ffecb3;color:#f57f17;border:none;width:24px;height:24px;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-add-btn{width:100%;padding:12px;background:#fff;border:1px dashed #3A47C6;color:#3a47c6;border-radius:10px;font-weight:700;font-size:14px;margin-bottom:15px;cursor:pointer}.mobile-total-row{display:flex;justify-content:space-between;font-size:13px;color:#555;padding:8px 0;border-bottom:1px solid #eee}.mobile-total-row.grand-total{font-size:16px;font-weight:700;color:#333;border-bottom:none;margin-top:5px;padding-top:12px;border-top:2px solid #333}.radio-label{display:flex;align-items:center;gap:6px;font-size:14px;color:#333}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400!important;cursor:pointer}.preview-iframe{position:fixed;top:0;left:0;width:100%;height:100vh;border:none;z-index:9999;background:#fff}.edit-mode-btn{position:fixed;bottom:20px;right:220px;z-index:10000;background:#fff;border:1px solid #ddd;color:#333;padding:12px 24px;border-radius:50px;font-weight:700;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:all .2s ease}.edit-mode-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #5865e04d;background:#f0f2ff;border-color:#5865e0}.download-pdf-btn{position:fixed;bottom:20px;right:20px;z-index:10000;background:#3a47c6;color:#fff;padding:12px 24px;border-radius:50px;font-weight:700;box-shadow:0 4px 12px #3a47c666;cursor:pointer;border:none;transition:all .2s ease}.download-pdf-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3a47c680;background:#2d366e}#appFooter{width:100%;background:transparent;padding-bottom:20px}#appFooter .pdf-send-footer{margin-top:0!important}.color-selection-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}body.preview-active .mobile-only{display:none!important}body.preview-active .desktop-only{display:block!important}body.preview-active .container.desktop-only{display:flex!important;width:100%;max-width:100%;margin:0;padding:10px;box-sizing:border-box;align-items:center}body.preview-active .main-area{width:100%;max-width:900px;height:auto;overflow:visible;box-shadow:none;padding:0;margin:0 auto}body.preview-active .invoice-wrapper{overflow:visible;display:flex;justify-content:center;width:100%}@media(max-width:600px){body.preview-active .invoice-container{transform:scale(.48);transform-origin:top center;margin-bottom:-550px}body.preview-active .edit-mode-btn{right:auto;left:20px;bottom:20px;padding:10px 20px;font-size:14px;width:auto}body.preview-active .download-pdf-btn{right:20px;bottom:20px;padding:10px 20px;font-size:14px;width:auto}}.print-mode .add-item-btn,.print-mode .delete-item-btn,.print-mode .add-item-row,.print-mode [data-html2canvas-ignore=true]{display:none!important}.mobile-preview-actions{position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:12px 16px 24px;box-shadow:0 -4px 12px #0000001a;display:flex;gap:12px;z-index:200;align-items:center}.mobile-action-btn{height:48px;border-radius:24px;font-weight:700;font-size:14px;border:none;cursor:pointer;flex:1;display:flex;align-items:center;justify-content:center;transition:transform .1s}.mobile-action-btn:active{transform:scale(.98)}.mobile-action-btn.primary{background:linear-gradient(135deg,#ffb74d,#ff9800);color:#fff;box-shadow:0 4px 10px #ff98004d}.mobile-action-btn.secondary{background:#f5f5f5;color:#666;border:1px solid #ddd;flex:0 0 100px}body.preview-mode .container,body.preview-mode #copyNotification,body.preview-mode #mobileAppContainer,body.preview-mode .mobile-app-container,body.preview-mode .landing-page{display:none!important}body.preview-mode{background-color:#f0f2f5!important;height:100vh;overflow:hidden}.preview-mode-container{height:100vh;width:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:40px 20px;box-sizing:border-box;position:relative;z-index:10}@media(max-width:600px){.pdf-send-footer .footer-links{flex-direction:column!important;gap:12px!important}.pdf-send-footer .footer-links span{display:none!important}.pdf-send-footer .footer-links a{padding:10px 0;display:block;width:100%;white-space:nowrap;text-decoration:none;text-align:center}}.preview-image-window{height:auto;max-height:70vh;min-height:300px}@media(max-width:768px){.preview-image-window{max-height:50vh;min-height:250px}}.ai-promo-banner{background-color:#e3f2fd;color:#0d47a1;padding:12px;border-bottom:1px solid #bbdefb;text-align:center;font-size:14px;margin:-40px -40px 20px;border-radius:12px 12px 0 0;cursor:pointer;transition:background-color .2s}.ai-promo-banner:hover{background-color:#bbdefb}@media(max-width:1200px){.ai-promo-banner{margin:-15px -15px 15px}}@media(max-width:600px){.ai-promo-banner{margin:-10px -10px 10px}}
