*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f5f5f5;color:#333}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:1rem 2rem;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000004d}.header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(74,222,128,.1) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(59,130,246,.1) 0%,transparent 50%);pointer-events:none}.header h1{font-size:1.5rem;font-weight:700;margin:0;position:relative;display:inline-flex;align-items:center;gap:.75rem;letter-spacing:-.02em}.header h1:before{content:"📊";font-size:1.25rem}.main{display:flex;flex:1;gap:1rem;padding:1rem;min-height:0;overflow:hidden}.chart-container{flex:1;background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a;min-height:0;overflow:hidden}.sidebar{width:320px;background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a;overflow-y:auto;flex-shrink:0}@media(max-width:768px){.main{flex-direction:column;overflow-y:auto}.sidebar{width:100%;flex-shrink:1}.chart-container{min-height:400px}}.parameter-inputs{display:flex;flex-direction:column;gap:1.5rem}.parameter-inputs section{display:flex;flex-direction:column;gap:.75rem}.parameter-inputs h3{font-size:1rem;font-weight:600;color:#2c3e50;margin:0;padding-bottom:.5rem;border-bottom:1px solid #eee}.parameter-inputs label,.parameter-inputs .field{display:flex;flex-direction:column;gap:.25rem}.parameter-inputs label span,.parameter-inputs .field>.label-with-button span{font-size:.875rem;color:#666}.input-group{display:flex;align-items:center;border:1px solid #ddd;border-radius:4px;overflow:hidden}.input-group:focus-within{border-color:#06f;box-shadow:0 0 0 2px #0066ff1a}.input-group .prefix,.input-group .suffix{padding:.5rem;background:#f5f5f5;color:#666;font-size:.875rem}.input-group input{flex:1;border:none;padding:.5rem;font-size:1rem;outline:none;min-width:0}.input-group input::-webkit-outer-spin-button,.input-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-group input[type=number]{-moz-appearance:textfield}.step-btns{display:flex;flex-direction:column;align-self:stretch}.step-btn{flex:1;padding:0 .5rem;background:#f5f5f5;border:none;border-left:1px solid #ddd;cursor:pointer;font-size:.6rem;line-height:1;color:#666;transition:background-color .15s;display:flex;align-items:center;justify-content:center}.step-btn:first-child{border-bottom:1px solid #ddd}.step-btn:hover{background:#e0e0e0;color:#333}.step-btn:active{background:#d0d0d0}.calculated{display:flex;justify-content:space-between;padding:.5rem;background:#f9f9f9;border-radius:4px}.calculated span{font-size:.875rem;color:#666}.calculated strong{color:#2c3e50}.calculated .duration{font-weight:400;color:#666}.help-text{background:#f0f7ff;padding:1rem;border-radius:4px;margin-top:.5rem}.help-text h3{border-bottom:none;padding-bottom:0}.help-text p{font-size:.875rem;color:#555;margin:.5rem 0 0;line-height:1.4}.label-with-button{display:flex;justify-content:space-between;align-items:center}.paye-btn{font-size:.75rem;padding:.25rem .5rem;background:#3498db;color:#fff;border:none;border-radius:3px;cursor:pointer}.paye-btn:hover{background:#2980b9}.result-section{background:#f0f7ff;padding:1rem;border-radius:4px}.result-section .warning{color:#c0392b;font-size:.875rem;margin:0}.save-section{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.save-button{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;width:100%}.save-button:hover{background:#2980b9}.save-button:disabled{background:#7f8c8d;cursor:not-allowed}.saved-link{font-size:.75rem;text-align:center}.saved-link a{color:#3498db;word-break:break-all}.error{color:#e74c3c;font-size:.75rem;text-align:center}.input-mode-toggle{display:flex;gap:0;border:1px solid #ddd;border-radius:4px;overflow:hidden}.mode-btn{flex:1;padding:.5rem .75rem;background:#f5f5f5;border:none;cursor:pointer;font-size:.875rem;color:#666;transition:all .15s}.mode-btn:first-child{border-right:1px solid #ddd}.mode-btn:hover:not(.active){background:#e8e8e8}.mode-btn.active{background:#06f;color:#fff}.mode-inputs{display:flex;flex-direction:column;gap:.75rem}.input-group select{flex:1;border:none;padding:.5rem;font-size:1rem;outline:none;background:#fff;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;padding:1.5rem;width:90%;max-width:400px;box-shadow:0 4px 20px #0003}.modal h2{margin:0 0 .5rem;font-size:1.25rem;color:#2c3e50}.modal-description{font-size:.875rem;color:#666;margin:0 0 1.5rem}.modal-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.modal-inputs label{display:flex;flex-direction:column;gap:.25rem}.modal-inputs label span{font-size:.875rem;color:#666}.modal-inputs .input-group{display:flex;align-items:center;border:1px solid #ddd;border-radius:4px;overflow:hidden}.modal-inputs .input-group:focus-within{border-color:#06f;box-shadow:0 0 0 2px #0066ff1a}.modal-inputs .prefix{padding:.5rem;background:#f5f5f5;color:#666;font-size:.875rem}.modal-inputs input{flex:1;border:none;padding:.5rem;font-size:1rem;outline:none;min-width:0}.modal-inputs input::-webkit-outer-spin-button,.modal-inputs input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-inputs input[type=number]{-moz-appearance:textfield}.modal-result{background:#f9f9f9;border-radius:4px;padding:1rem;margin-bottom:1.5rem}.result-row{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.875rem}.result-row span{color:#666}.result-row .tax{color:#c0392b}.result-row.total{border-top:1px solid #ddd;padding-top:.5rem;margin-top:.25rem;font-size:1rem}.result-row.total strong{color:#27ae60}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel,.btn-ok{padding:.5rem 1.25rem;border-radius:4px;font-size:.875rem;cursor:pointer;border:none}.btn-cancel{background:#eee;color:#666}.btn-cancel:hover{background:#ddd}.btn-ok{background:#3498db;color:#fff}.btn-ok:hover{background:#2980b9}
