:root{color:#17211f;background:#dfe4e2;font-family:Avenir Next,Noto Sans CJK SC,PingFang SC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17211f;--muted: #64706d;--line: #d9dfdc;--surface: #ffffff;--canvas: #e4e8e6;--teal: #0f766e;--teal-dark: #115e59;--teal-soft: #e7f4f1;--amber: #a15c07;--danger: #b42318;--focus: #0e7490;letter-spacing:0}*{box-sizing:border-box;letter-spacing:0}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0}body{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(14,116,144,.23);outline-offset:1px}.app-shell{min-height:100vh;background:var(--canvas)}.app-header{position:relative;z-index:20;display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);align-items:center;min-height:68px;padding:10px 18px;border-bottom:1px solid #ccd3d0;background:#f9faf9;box-shadow:0 2px 10px #192b2612}.product-lockup{display:flex;align-items:center;min-width:0}.product-mark{display:grid;place-items:center;width:40px;height:40px;margin-right:11px;border-radius:7px;color:#fff;background:var(--teal-dark)}.product-title{min-width:0}.product-title strong{display:block;font-size:16px;line-height:1.25}.product-title span{display:flex;align-items:center;gap:4px;margin-top:3px;color:var(--muted);font-size:12px}.template-switcher{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #d2d9d6;border-radius:7px;background:#eef1f0}.template-switcher button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;gap:7px;padding:7px 12px;border:0;border-radius:5px;color:#56615e;background:transparent;font-size:13px;font-weight:600;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.template-switcher button:hover{color:var(--ink);background:#ffffffa8}.template-switcher button.active{color:var(--teal-dark);background:#fff;box-shadow:0 1px 3px #142d2724}.template-short-name{display:none}.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid transparent;border-radius:6px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.button{gap:7px;padding:8px 14px;font-size:13px;font-weight:700}.button:active,.icon-button:active{transform:translateY(1px)}.button-primary{color:#fff;background:var(--teal-dark);border-color:var(--teal-dark)}.button-primary:hover{background:#0d4f4b}.button-export{color:#674006;background:#fff8e8;border-color:#dfbd7d}.button-export:hover{background:#ffefca;border-color:#c99843}.button:disabled{cursor:wait;opacity:.62;transform:none}.button-quiet{color:#394441;background:#fff;border-color:#cdd5d2}.button-quiet:hover,.icon-button:hover{background:#f1f4f2;border-color:#b9c4c0}.button-danger{color:#fff;background:var(--danger)}.icon-button{width:40px;padding:0;color:#4c5855;background:#fff;border-color:#cdd5d2}.icon-button.compact{width:34px;min-height:34px;color:#7a3832}.workspace{display:grid;grid-template-columns:minmax(370px,438px) minmax(0,1fr);height:calc(100vh - 68px);overflow:hidden}.editor-panel{position:relative;z-index:10;overflow-y:auto;overscroll-behavior:contain;padding:24px 26px 48px;border-right:1px solid #ccd3d0;background:var(--surface)}.editor-heading{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--teal);font-size:11px;font-weight:800}.editor-heading h1{margin:4px 0 0;font-family:Songti SC,"Noto Serif CJK SC",serif;font-size:24px;font-weight:700;line-height:1.25}.draft-badge{padding:4px 8px;border:1px solid #e3c48f;border-radius:4px;color:#7e4c08;background:#fff8e8;font-size:11px;font-weight:700}.validation-alert{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--danger);color:#74231c;background:#fff2f0;font-size:13px}.validation-alert strong{display:block;margin-bottom:5px}.validation-alert ul{max-height:112px;overflow:auto;margin:0;padding-left:18px;line-height:1.65}.editor-form{display:block}.form-section{padding:23px 0 25px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;gap:9px;margin-bottom:16px}.section-title>span{color:var(--teal);font-size:11px;font-weight:800}.section-title h2{margin:0;color:#25302d;font-size:15px;line-height:1.2}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.field,.upload-field{position:relative;display:block;min-width:0}.field.full,.upload-field.full{grid-column:1 / -1}.field>span:first-child,.upload-field>span:first-child{display:block;margin-bottom:6px;color:#52605c;font-size:12px;font-weight:600}.field input,.field select,.field textarea{display:block;width:100%;min-height:40px;padding:9px 10px;border:1px solid #cbd4d0;border-radius:5px;color:var(--ink);background:#fbfcfb;font-size:14px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.field textarea{min-height:68px;resize:vertical;line-height:1.55}.field input:hover,.field select:hover,.field textarea:hover{border-color:#aebbb6}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);background:#fff;box-shadow:0 0 0 3px #0e749017}.field select{appearance:none;padding-right:30px}.select-icon{position:absolute;right:10px;bottom:12px;pointer-events:none;color:#697572}.diagnosis-field{margin-bottom:14px}.drug-list{display:grid;gap:12px}.drug-card{padding:13px;border:1px solid #d6ddda;border-radius:6px;background:#f7f9f8}.drug-card>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.drug-card>header strong{color:#32413d;font-size:12px}.add-drug-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;gap:7px;margin-top:12px;border:1px dashed #82a9a2;border-radius:6px;color:var(--teal-dark);background:#f3faf8;font-size:13px;font-weight:700}.add-drug-button:hover{border-style:solid;background:var(--teal-soft)}.amount-line{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #d9dfdc;color:#52605c;font-size:13px}.amount-line strong{color:var(--ink);font-size:16px}.upload-field{overflow:hidden}.upload-field input{position:absolute;width:1px;height:1px;opacity:0}.upload-control{display:flex;align-items:center;justify-content:center;min-height:40px;gap:7px;border:1px solid #cbd4d0;border-radius:5px;color:#3f4c48;background:#fbfcfb;font-size:13px;font-weight:600;cursor:pointer}.upload-control:hover{border-color:#93a6a0;background:#f1f5f3}.preview-panel{display:flex;min-width:0;flex-direction:column;background:#dfe4e2}.preview-toolbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:8px 20px;border-bottom:1px solid #c8d0cd;background:#eef1f0}.preview-toolbar>div{display:flex;align-items:center;gap:8px}.preview-toolbar strong{color:#31403c;font-size:13px}.preview-toolbar span:last-child{color:#6b7774;font-size:12px}.preview-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #0f766e1f}.zoom-control{height:34px;border:1px solid #cbd3d0;border-radius:5px;background:#fafbfa}.zoom-control button{display:grid;width:34px;height:32px;place-items:center;border:0;color:#44514d;background:transparent}.zoom-control button:hover{background:#e7ecea}.zoom-control output{min-width:48px;padding:0 7px;color:#53605c;font-size:12px;text-align:center}.preview-stage{flex:1;overflow:auto;padding:34px 28px 80px;text-align:center}.paper-scale{display:inline-block;text-align:left;vertical-align:top}.paper{position:relative;overflow:hidden;box-sizing:border-box;color:#111;background:#fff;box-shadow:0 16px 42px #1f2c2830,0 2px 7px #1f2c281f;font-family:Songti SC,"Noto Serif CJK SC",SimSun,serif}.paper-a4{width:210mm;min-height:297mm}.paper-a5{width:148mm;min-height:210mm}.record-paper{padding:22mm 17mm 17mm;font-size:4mm;line-height:1.8}.record-header{margin-bottom:3mm}.record-institution{font-size:5.4mm;font-weight:700}.record-header h1{margin:1mm 0 2mm;font-size:8mm;font-weight:500;text-align:center}.record-visit-line{display:flex;flex-wrap:wrap;gap:0 3mm;padding-bottom:1.5mm;border-bottom:.35mm solid #222;font-size:3.7mm}.record-demographics{display:grid;grid-template-columns:1fr .8fr .8fr 1.2fr;gap:0 5mm;padding:1mm 0;border-bottom:.35mm solid #222}.record-demographics .half{grid-column:span 2;min-width:0}.record-demographics .wide{grid-column:span 3}.record-content{padding-top:2mm}.record-content p{min-height:8mm;margin:.8mm 0;text-align:justify}.record-content strong{font-weight:800}.record-footer{position:absolute;right:22mm;bottom:42mm;display:flex;align-items:center;justify-content:center;width:78mm;height:42mm}.signature-mark{position:relative;z-index:2;display:flex;align-items:flex-end;min-width:48mm;font-size:4mm}.signature-label{white-space:nowrap}.signature-line{display:inline-flex;align-items:flex-end;justify-content:center;min-width:25mm;min-height:8mm;padding:0 1mm .5mm;border-bottom:.25mm solid #222;font-family:Kaiti SC,STKaiti,cursive;font-size:5mm}.signature-line img{display:block;max-width:28mm;max-height:13mm;object-fit:contain}.seal-placeholder,.seal-image{position:absolute;z-index:1;width:38mm;height:38mm;opacity:.48}.seal-placeholder,.seal-image,.seal-upload{display:none!important}.seal-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;border:.8mm dashed #c63b31;border-radius:50%;color:#b82c23;font-family:SimSun,serif;font-size:4.2mm;font-weight:700}.seal-placeholder:after{position:absolute;inset:2mm;border:.35mm solid #c63b31;border-radius:50%;content:""}.seal-placeholder small{margin-top:1mm;font-size:2.8mm;font-weight:400}.seal-image{object-fit:contain}.classic-paper{padding:18mm 18mm 14mm;font-size:4mm}.classic-header{position:relative;height:27mm;padding-top:5mm}.classic-header h1{margin:0;font-size:6.7mm;font-weight:500;text-align:center}.rx-type{position:absolute;right:18mm;bottom:0;font-size:5mm}.classic-patient-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:3.5mm 10mm;padding:4mm 2mm 5mm;border-bottom:.35mm solid #111;line-height:1.45}.classic-patient-grid>div{display:flex;min-width:0}.classic-patient-grid span,.classic-patient-grid u{flex:1;padding:0 2mm .7mm;border-bottom:.25mm solid #222;text-decoration:none}.classic-patient-grid .full,.classic-bottom-grid .full{grid-column:1 / -1}.classic-rx{min-height:112mm;padding:5mm 3mm}.rp{margin-bottom:5mm;font-family:Georgia,serif;font-size:8mm}.classic-drug{margin-bottom:9mm;break-inside:avoid}.classic-drug-main{display:flex;gap:6mm;padding-left:10mm;font-size:4.5mm}.classic-drug-main span:first-child{min-width:58mm}.classic-usage{margin-top:8mm;padding-left:2mm}.classic-paper>.seal-placeholder,.classic-paper>.seal-image{right:62mm;bottom:68mm}.classic-footer{position:absolute;right:18mm;bottom:14mm;left:18mm;border-top:.35mm solid #222}.classic-sign-row{display:flex;align-items:center;justify-content:space-between;min-height:17mm;padding:2mm 8mm}.classic-sign-row u,.classic-bottom-grid u{min-width:28mm;padding:0 2mm 1mm;text-decoration:none}.classic-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5mm 12mm;padding:4mm 8mm 0;border-top:.25mm solid #222;font-size:3.7mm}.compact-paper{padding:7mm 8mm 6mm;font-size:3mm}.compact-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:24mm;gap:2mm;border-bottom:.3mm solid #222}.compact-brand{display:flex;align-items:center;gap:2mm}.compact-brand svg{flex:0 0 auto;color:#4a5552}.compact-brand strong,.compact-brand small{display:block;max-width:43mm}.compact-brand strong{font-size:3.4mm;line-height:1.25}.compact-brand small{margin-top:1mm;font-family:Georgia,serif;font-size:1.8mm;line-height:1.1}.compact-header h1{margin:0;white-space:nowrap;font-size:5.6mm;font-weight:600}.compact-code{display:flex;align-items:flex-end;justify-content:center;flex-direction:column;min-width:38mm}.compact-code b{min-width:20mm;margin-right:4mm;border:.25mm solid #333;font-size:2.6mm;font-weight:500;text-align:center}.barcode-mark{display:block;width:37mm;height:11mm}.compact-info{display:grid;grid-template-columns:1.15fr .75fr .75fr 1fr;gap:1.6mm 3mm;padding:2.5mm 0 3mm;border-bottom:.3mm solid #222}.compact-info span{display:flex;min-width:0;align-items:flex-end;white-space:nowrap}.compact-info u{flex:1;min-width:0;overflow:hidden;padding:0 1mm .4mm;border-bottom:.2mm solid #333;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.compact-info .double{grid-column:span 2}.compact-info .full{grid-column:1 / -1}.compact-rx{min-height:91mm;padding:2.5mm 0 0}.compact-rp-title{margin-bottom:2mm;font-family:Georgia,Songti SC,serif;font-size:5.5mm}.compact-rp-title small{font-family:Songti SC,serif;font-size:2.5mm}.compact-drug{margin:0 0 4mm;break-inside:avoid}.compact-drug-main{display:flex;align-items:baseline;gap:2mm;font-size:3.1mm;line-height:1.45}.compact-drug-main b{width:5mm;text-align:right}.compact-drug-main strong{margin-left:auto;white-space:nowrap}.compact-usage{margin-top:1mm;padding-left:10mm;font-size:2.9mm;line-height:1.45}.rx-blank-line{height:12mm}.compact-signatures{display:flex;align-items:center;justify-content:space-between;min-height:15mm;padding:2mm 3mm;border-bottom:.25mm solid #222}.compact-signatures .signature-mark{min-width:57mm;font-size:3mm}.compact-signatures .signature-line{min-height:6mm;font-size:4mm}.compact-total{font-size:3.2mm}.compact-execution{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm 8mm;padding:2.5mm 4mm;font-size:2.8mm}.compact-execution>div{border-bottom:.2mm solid #333;line-height:1.8}.compact-qrs{display:flex;justify-content:center;gap:22mm;min-height:31mm;padding-top:1mm}.qr-mark{display:flex;align-items:center;flex-direction:column;width:25mm;font-family:Noto Sans CJK SC,sans-serif;font-size:2.5mm}.qr-mark img,.qr-placeholder{width:22mm;height:22mm}.qr-placeholder{display:grid;place-items:center;border:.25mm dashed #777;color:#777}.qr-mark span{margin-top:1mm}.compact-note{margin:0;font-size:2mm;line-height:1.5;text-align:justify}.detail-paper{padding:8mm 12mm 12mm;font-size:4mm;line-height:1.4}.detail-header{position:relative;min-height:34mm;border-bottom:.55mm solid #111}.detail-title-block{display:flex;align-items:center;flex-direction:column}.detail-title-block>strong{font-size:6.4mm;font-weight:500;line-height:1.18}.detail-title-block h1{margin:1mm 0 0;font-size:6.2mm;font-weight:500;line-height:1.15}.detail-type{position:absolute;top:5mm;right:20mm;min-width:19mm;padding:2mm 2.5mm;border:.35mm solid #111;font-size:4.5mm;text-align:center}.detail-patient-grid{display:grid;grid-template-columns:1fr 1.2fr 1.25fr;gap:2mm 7mm;padding:3mm 2mm 2.5mm;border-bottom:.5mm solid #111}.detail-patient-grid>span{display:flex;min-width:0;align-items:baseline}.detail-patient-grid u{flex:1;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.detail-patient-grid .double{grid-column:span 2}.detail-patient-grid .full{grid-column:1 / -1}.detail-rx{padding-top:1mm}.detail-rx-banner{position:relative;display:flex;align-items:flex-start;justify-content:center;min-height:22mm}.detail-r{position:absolute;top:-2mm;left:0;font-family:Georgia,serif;font-size:18mm;line-height:1}.detail-rx-banner strong{padding-top:4mm;font-size:4.8mm;font-weight:500}.detail-table-head,.detail-drug-main,.detail-drug-usage{display:grid;grid-template-columns:minmax(0,1fr) 52mm 28mm;gap:4mm}.detail-table-head{padding:0 10mm 2.5mm 14mm;font-size:4.2mm;text-align:center}.detail-drug-item{margin-bottom:4.5mm;break-inside:avoid}.detail-drug-main,.detail-drug-usage{padding:0 10mm 0 2mm}.detail-drug-main{align-items:baseline;font-size:4mm}.detail-drug-main>:nth-child(2),.detail-drug-main>:nth-child(3){text-align:center}.detail-drug-usage{margin-top:.5mm;font-size:3.4mm}.detail-drug-usage span:nth-child(2){text-align:center}.detail-footer{position:absolute;right:12mm;bottom:68mm;left:12mm;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10mm;padding:2mm 3mm 0;border-top:.55mm solid #111;font-size:4mm}.detail-footer p{min-height:7mm;margin:0;white-space:nowrap}.detail-footer strong{display:inline-block;min-width:28mm;border-bottom:.25mm solid #222;font-family:Kaiti SC,STKaiti,cursive;font-size:4.6mm;font-weight:500;text-align:center}.dialog-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#131d1a7a}.dialog{position:relative;width:min(100%,390px);padding:25px;border-radius:8px;background:#fff;box-shadow:0 24px 70px #101c1847}.dialog-close{position:absolute;top:12px;right:12px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:5px;color:#697572;background:transparent}.dialog-close:hover{background:#eef1f0}.dialog-icon{display:grid;width:43px;height:43px;place-items:center;border-radius:7px;color:var(--amber);background:#fff4dd}.dialog h2{margin:16px 0 6px;font-family:Songti SC,serif;font-size:21px}.dialog p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.toast{position:fixed;z-index:60;right:22px;bottom:22px;padding:11px 15px;border:1px solid #a9bbb5;border-radius:6px;color:#173d36;background:#f5fffc;box-shadow:0 8px 24px #152d262e;font-size:13px;font-weight:700}@media(max-width:1160px){.app-header{grid-template-columns:auto 1fr auto}.product-title strong,.product-title span{display:none}.template-switcher{justify-self:center}.workspace{grid-template-columns:minmax(340px,400px) minmax(0,1fr)}.template-full-name{display:none}.template-short-name{display:inline}}@media(max-width:820px){body{overflow:auto}.app-header{position:sticky;top:0;grid-template-columns:auto 1fr;gap:8px;padding:9px 12px}.template-switcher{grid-column:1 / -1;grid-row:2;width:100%}.template-switcher button{flex:1;min-width:0;padding-inline:6px}.header-actions{grid-column:2;grid-row:1}.header-actions .button-quiet{display:none}.workspace{display:flex;height:auto;overflow:visible;flex-direction:column}.editor-panel{max-height:none;overflow:visible;padding:20px 18px 32px;border-right:0}.preview-panel{min-height:680px}.preview-toolbar{position:sticky;top:116px}.preview-stage{min-height:620px;padding-inline:16px}}@media(max-width:480px){.product-lockup,.header-actions .icon-button{display:none}.app-header{grid-template-columns:1fr}.header-actions{grid-column:1;justify-content:stretch}.header-actions .button-primary,.header-actions .button-export{flex:1;min-width:0}.template-switcher{grid-row:2}.template-switcher button{min-height:44px;font-size:12px}.field-grid{grid-template-columns:1fr}.field.full,.upload-field.full{grid-column:auto}.preview-toolbar{top:121px}.preview-toolbar>div:first-child span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{html,body,#app,.app-shell,.workspace,.preview-panel,.preview-stage{width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}.app-header,.editor-panel,.preview-toolbar,.dialog-backdrop,.toast{display:none!important}.paper-scale{display:block!important;zoom:1!important}.paper{margin:0!important;box-shadow:none!important}}
