*{box-sizing:border-box}body{font-family:'Open Sans',Helvetica,Arial,sans-serif;font-size:14px;background:#f0f2f5;color:#333}.top-bar{background:linear-gradient(135deg,#203050 0,#16233c 100%);color:#fff}.top-bar .top-bar-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;max-width:1300px;margin:0 auto}.top-bar .app-name{font-size:18px;font-weight:700}.top-bar .app-std{font-size:13px;opacity:.7;font-weight:300}.top-bar .btn-home{font-size:12px;color:rgba(255,255,255,.85);text-decoration:none;border:1px solid rgba(255,255,255,.4);padding:5px 12px;border-radius:4px}.top-bar .btn-home:hover{background:rgba(255,255,255,.12);color:#fff}.app-wrap{padding:16px;max-width:1300px;margin:0 auto}.app-desc-card{display:flex;align-items:flex-start;gap:14px;background:#e9eaee;border:1px solid #bcc1cb;border-radius:6px;padding:14px 18px;margin-bottom:12px}.app-desc-icon{font-size:22px;color:#203050;flex-shrink:0}.app-desc-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#16233c;margin-bottom:5px}.app-desc-text{font-size:13px;color:#334;line-height:1.6;text-align:justify}.panel{border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.1);border:1px solid #dce3ea}.panel-body{padding:18px}.panel-heading{font-weight:700;font-size:14px;background:#e9eaee;border-color:#bcc1cb;color:#16233c}.panel-heading-flex{display:flex;align-items:center;justify-content:space-between}.section-title{font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#203050;border-bottom:2px solid #bcc1cb;padding-bottom:4px;margin:14px 0 10px}.section-title:first-child{margin-top:0}.form-control{border-color:#c6cdd5;border-radius:4px;height:30px;padding:3px 8px;font-size:14px}.form-group{margin-bottom:8px}.form-group label{font-size:13px;font-weight:600;margin-bottom:2px;display:block;color:#2a3a4a}.input-unit{font-weight:400;color:#888;font-size:12px}.btn-add{background:#4d5973;border:none;color:#fff;padding:8px 18px;font-weight:600;border-radius:5px;margin-left:8px}.btn-add:active,.btn-add:active:focus,.btn-add:focus,.btn-add:hover{background:#363f57;color:#fff}.btn-add.btn-added,.btn-add.btn-added:active,.btn-add.btn-added:focus,.btn-add.btn-added:hover{background:#2e9e5b;color:#fff}.btn-clear{background:#fff;border:1px solid #c6cdd5;color:#555;padding:8px 18px;font-weight:600;border-radius:5px;margin-left:8px}.btn-clear:active,.btn-clear:active:focus,.btn-clear:focus,.btn-clear:hover{background:#f2f2f2;color:#555}.btn-add:disabled,.btn-add:disabled:hover,.btn-clear:disabled,.btn-clear:disabled:hover{background:#e9ecef;border-color:#e9ecef;color:#a3a9b1;cursor:not-allowed}.panel-heading-flex .btn-xs{padding:3px 10px;font-size:12px;margin-left:6px}.panel-heading-flex .btn-add,.panel-heading-flex .btn-clear{margin-left:6px}.res-table{width:100%;border-collapse:collapse;font-size:13px}.res-table th{background:#203050;color:#fff;text-align:center;padding:5px 8px;font-size:12px}.res-table td{padding:5px 8px;border:1px solid #ddd;text-align:center}.res-table tr:nth-child(2n) td{background:#eef0f3}.res-table td.check-name{font-weight:600;color:#2a3a4a;text-align:left}.code-select-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:4px}.code-select-row .form-group{flex:1 1 320px;margin-bottom:0}#dyn-inputs{margin-top:16px}#chart-spectrum{min-height:420px}.curve-list{list-style:none;margin:0;padding:0}.curve-list li{padding:8px;border-bottom:1px solid #eee;font-size:12.5px}.curve-list li:last-child{border-bottom:none}.curve-list li .curve-row{display:flex;align-items:center;gap:8px}.curve-list li .swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}.curve-list li .cname{flex:1;font-weight:600;color:#2a3a4a}.curve-list li .btn-rm{color:#203050;cursor:pointer;font-size:13px}.curve-list li .btn-rm:hover{color:#16233c}.curve-list li .curve-params{margin-top:4px;padding-left:22px;color:#666;line-height:1.6}.curve-empty{color:#999;font-size:12.5px;padding:6px 8px}.ord-toolbar{display:flex;align-items:flex-end;gap:14px;margin-bottom:12px;flex-wrap:wrap}.ord-toolbar .form-group{margin-bottom:0}.ord-toolbar select{width:auto}.ord-toolbar .btn{height:30px;padding:0 18px;display:inline-flex;align-items:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.ord-table-wrap{max-height:55vh;overflow:auto}.ord-table-wrap .res-table th{position:sticky;top:0;z-index:1}